For what it's worth, I tracked down that nutso variability of the older Nim GC to massive amounts of memory use that led to swapping to NVMe.
Lifting the inner most part (`worst...pushMsg`) into its own `proc` and calling it made things more controlled with only order 15..20% standard deviation/means w/o the swapping. Even this situation still used close to 1000X the memory than with `--gc:arc` (26 GB vs 32 MB when running with -m20). With or w/o `-d:useRealTimeGC`, with `-d:release` or `-d:danger` and with or w/o setting max pause times. Maybe this is some known issue with the old GC that this test program was designed to stress? There is some full disable GC code in there. Or maybe I messed something up. I would think it is pretty easy to reproduce. `/usr/bin/time` can give you the RSS. Makes `--gc:arc` seem that much more important.