I wonder if the garbage collection takes longer to run on a contiguous array of objects removed vs getting near real time gc on each object manually removed. I noticed when provided objects to lua from C that lua is very happy to drop single objects as fast as it can.
Or the whole array just isn’t released properly.