This right here is the question thats been on my mind as well.
From what I gather it's neither. This memory limitation has to do with the in-game memory budget. Every program, and in particular graphics intensive games, has a memory allocation budget used by the various tasks, threads, and information. In the olden days, programs were compiled to work within a very tiny memory space, i.e. 8K or 16K. Back then, total system memory was a precious commodity and the programmers had to ensure that their programs were able to fit and operate within some very tight limits. In earlier times, even 8K was too generous when the total system RAM was only 8K and the compiler created executables that operated in a much smaller space!
This is still done today, but with much larger numbers. With Trainz, the various processes, assets, scripts, multiple threads, and everything else going on need to fit within the budget allocated for the processing. With SP6, the goal was to make the program more efficient and use less memory, however, the programmers made the pool too small causing the issues we saw.
In the end, we can have 128GB and still run into the same issue as you saw and so did many others including myself with a system that has 64GB of RAM installed.