Summary of the bug: if ik_alloc is called during gc, and if it causes a heap overflow, then the pages are deallocated before returning to scheme.