UIWidgets bind own methods to themselves, which creates a strong reference, which prevents garbadge collection. Code to reproduce ```python import gc from arcade.gui import UIWidget widget = UIWidget() widget.add(UIWidget()) del widget gc.collect() amount_of_widgets = len([obj for obj in gc.get_objects() if isinstance(obj, obj_type)]) assert amount_of_widgets == 0 ```