I can’t give you an actual answer, but what I can say is that my server had an uptime of 180+ days without any apparent memory leaks. I only have a few users though, but we do use it heavily.
It is... not great, in my experience. My newly-rebuilt Synapse instance currently has a resident size of 571 MB, for one user in two channels. I doubt that it scales linearly with users, though, and there may be settings to get memory usage down.