I guess you should ask the gotk3 people. Automatic realtime releasing of resources can be hard, as GarbageCollectors may have a delay. An example is the GtkDrawingArea when temporary surfaces are used. Was a problem with Ruby ten years ago, and is some problem for Nim with the default GC – I have noticed that without manually destroying surfaces up to 3 GB of RAM can be allocated before the GC becomes active and frees all that. So we had in the past a user available destroy function. Luckily, with Nim’s new ARC/ORC deterministic memory management that problem is gone. I would guess that Rust has no problems too.