Add to that the fact that it may be triggered only by a combination of things happening in 'the right way' to accumulate in just the wrong way. It may be that there's a tiny bit of memory leaked when you go into the mechlab, and a tiny bit when you look at your component list, and a tiny bit when you go to the mechwarrior barracks, or the hiring hall / store / contract list.
On their own, it may not be appreciable, but if they happen quickly in succession pointer references may be lost track of and never freed up. God knows, Perl's underlying use of memory calls like malloc and free don't always do their job properly or the underlying call may not. Way back in the dawn of my career, I ran into an issue caused by the way that Perl free'd memory. It wasn't a bug in Perl or in the program I was working on, but on the system libraries that Perl was using. As much as I wanted to, there was nothing I could do unless / until the system libraries were fixed (which wasn't going to happen because the OS vendor wasn't updating it anymore).
The short of it is that, if possible, track what actions you're taking over the course of play and see if there's a detectable pattern in how you play. I can saying for sure that I don't always visit every store and hiring hall and there are plenty of times where I don't touch the mechlab or barracks. Part of that is because I'm forgetful. If you are habitually hitting up every store and hiring hall, checking your pilot XP constantly, and constantly tweaking mechs and builds, that's a play style difference that results in different memory allocation / use in the background (hiring halls don't need to be generated, stores don't need to be populated, inventories / pilots aren't constantly being brought in and out of memory, etc).
The identification of actions taken would help in the debugging and troubleshooting of the problem since it would allow HBS to see what actions are being taken and examine them more closely.
And, as some have said, multiplayer folks are seeing it a lot, so there's probably something there as well.
From the sound of it, I'd be examining all "list-oriented" functionality (inventory, mechlab, store, hiring hall, game lobby, mechlab) and make sure that the lists are being freed up correctly when the user leaves those screens and not just ignored in the expectation that garbage collecting will "fix it all" (god knows I've run across enough Java developers that expect the Java GC functions to work miracles with their code). I don't know how Unity does it, but I expect it's just as bad as most modern languages.