Currently, when Giggle's garbage collector run, it pauses everything while it scans all of the blocks it controls. Then it frees everything it can. It'd be nice if it could scan until only some blocks were freed, then return control to your regularly scheduled program.
Being incremental would also allow for the possibility of running the garbage collector continuously, in its own, low-priority thread.