My solution to this has to save, quit, and restart every so often. This seems to help quite a bit. As to the fact that we still have memory leaks somewhere, yes I've noticed that. Fortunately, they are orders of magnitude smaller these days, so you can play much longer between those annoying OOM chime noises...
I usually am able to play for hours between slowdowns, so much much better than the 'old days'.
Autosave is also a savior on this. If you have an OOM, you can usually load the last autosave or two and continue from where the autosave game left off.