Popup:
Calling
IsOpen = true,
IsOpen = false,
IsOpen = true,
IsOpen = false,
while the last IsOpen update isn't ready, kills the Popup.
It works async, even if animations are set to none/0s and there is no public event to validate the last update is fully done (Popup opened/closed)
In my case i have a popup opened, while a search operation is running in the background.
If this background search returns too fast and i set IsOpen to false, the update is ignored and the popup keeps in an opened state.