A recent release of Free Pascal has a rather interesting behaviour for its list implementation. Lists grow additivitely (rather than multiplicatively) above 128MiB, trading off computational complexity for trying to avoid out-of-memory issues! https://wiki.lazarus.freepascal.org/User_Changes_3.0.4#TList_auto-growth