Reading is stateful: it can't trigger a restart. This is best solved by calling the collector before read. Growing the heap: restart loops need to be detected. fixed with gc->margin check after collection. Currently set at 100 cells. (Heuristic: 11 is not enough for SC and triggers a restart loop).