This is an interesting topic. Widgets don’t refresh or redraw themselves every frame, they have an invalidation routine and can be set to volatile and things like that. There shouldn’t be much of a performance hit once a widget has been drawn and isn’t doing anything.
In the same way if you collapse a widget, that’s it, it should stop having an effect on performance entirely, because invisible, insubstantial widgets never have a reason to be invalidated again.
Destroying and creating something over and over and putting more work on garbage collection is always a bad idea, definitely try to get some re-use in there.