Yes, memory is cheap. But OT maps can easily explode in size.
Theoretical map maximum is around 60,000 x 60,000 x 16 which would be 481 GB in 64-bit pointers to Tile objects alone!
Okay assume we have a smaller map which averages at 2,000 x 2,000 x 14.
That is 56,000,000 tiles * 8-byte pointer = 448 MB.
sizeof(StaticTile) + sizeof(Item) is around 128 byte * 56m tiles = 7,168GB
Totaling at around 8GB minimum memory usage.
Actual usage is much higher because there is a lot more to set up and you cannot store the data efficiently. Esp. if the map has holes in it you cannot use just arrays to map positions to tile pointers.
And that's just the map - no monsters, no NPCs, no scripts, no dynamic items, etc.
So small sized maps = memory-only is fine.
Medium sized maps = loaded dynamically on-demand is fine unless there are too many players spread evenly across the entire map, which would load most of the map and you run OOM. and you also have to unload as soon as there is no player left in a chunk or your server will OOM over time anyway.
Large maps w/ many players = Nothing will help here. Either you have reeeeeally lots of memory (but I guess the server will still not run smoothly due to CPU usage) our you start clustering the game across multiple servers. But that's a whole different story I guess ^^