Having worked on ATC, this really does sound like a software bug. Fixing such a bug on a delivered system would require an immense amount of costly testing. Adding memory is the cheap option. The other thing to consider is that some of these systems are rather old and could easily have less than a gig of ram.
Only in the sense of having a broken system, putting in place some procedural constraints and then praying that everyone follows the rules.
As you say, it's a software bug. Until it's been 100% characterised and tested this leaves a huge question mark hanging over the system. Adding memory is a band aid solution.