Look guys, a meme! People like those, right?
To really explain what happened, I'd have to use a TON of jargon. Here's the low-jargon version:
A fellow helping me with some network code mentioned that the compiler we use has an "address sanitizer", and suggested I take a look at it. It turned out to be a MUCH better, MUCH faster replacement for a tool I was already using to find memory issues. It helped me track down at least 10 mild memory leaks, and dozens of tiny ones. I've fixed up the mild leaks, and put the tiny ones on my "todo" list for the future. (They'd only make a difference after 2-3 months of constant scrumbleshipping)
What does that mean for scrumbleshippers? Honestly, not much for now - Under normal circumstances, these leaks would add up to a decent amount of ram only after a couple hours of constant, active play, which is pretty rare so far. Still, it's excellent groundwork for the future, and the tool switch has also found a few minor bugs, making ScrumbleShip more stable.
It's a small slice of humble pie for me, though - I had thought my code didn't suffer from these common issues, when in reality they were merely smaller than I could currently detect.