push back dead objects to free list
add_heap_page should not be invoked in gc_alloc, but should be in obj_alloc