In my game, Plane Crazy, there could be over 20.000 parts in the world and i have noticed that once you join a server with creations that look like this:
you will most likely freeze instantly or even crash in the worst case due to the amount of parts being in the server.
If there was some sort of slowdown for loading the massive creations while joining the server, it would allow anyone to join the big server with any device and possible make joining faster aswell due to the client not freezing.
Streaming shouldn’t be much more stressful on the device hardware, and it is specifically designed to allow weaker devices to handle much larger game worlds. If you are having issues with memory and sheer volume of parts, it might be the best bet. I’ve used it for some highly optimised games and have only ever seen performance improvement, although you do need to take scripting precautions.
If streaming is off the table, all you can really do is optimise the models themselves, which isn’t really possible in a game where the players are the ones building the models. Some kind of cap on complexity of a build, or reducing server sizes is the only other alternative I can think of. Perhaps a custom rendering system could alleviate any rendering issues you have, but if the issue is memory then clever scripting can’t put much of a dent, and streaming is the only real solution.