Now that we understand the behavior, we should think about potential solutions for awhile before making any changes. Also, the behavior is similar but it gets *much* slower if GC is on. I just turned off GC in my test case to make it easier to investigate the problem because system execution finishes more quickly with GC off. I suggest that any solutions that change the current behavior be enabled via environment variables and/or features in class MEMORY (i.e., leave the default behavior as it is, to avoid causing problems for applications that already work fine).