That does sound like a something to look into if we need to. I would say get a more complete build going that has everything loaded into and see how the memory usage is before implementing such a system, like you said.
We can also just simply not load everything to begin with. Simply initialize arrays with None elements as placeholders for the size, and load them only when necessary.