The TooltipManager.HideAll method would result in tooltips being removed from _shownTooltips while it was being iterated over resulting in an exception being thrown if any tooltips were visible when it was called.
A simpler solution would have been to use the Linq ToArray operator, but that would have had the side effect of creating a shallow copy of the collection and that can be easily avoided in this case.
The TooltipManager.HideAll method would result in tooltips being removed from _shownTooltips while it was being iterated over resulting in an exception being thrown if any tooltips were visible when it was called.
A simpler solution would have been to use the Linq ToArray operator, but that would have had the side effect of creating a shallow copy of the collection and that can be easily avoided in this case.