Also - still my question remains the same - not relating directly to my setup, but commonly, for performance, is it better to upgrade ONE Linode and have all services on it, or to have multiple smaller Linodes for different services?
This is vertical scaling vs horizontal scaling. It's an often-asked question with no one correct answer
Vertical scaling (a larger server) has the benefit of no increase in administrative work.
Horizontal scaling has the benefit of redundancy (you don't have all your eggs in one basket), but at the cost of more administrative work (two servers to maintain).
In both cases you get an increase in CPU capacity.
If you're happy with how everything is setup and running, but just need more RAM, then upgrading to a larger server is the simple solution. If you have issues other than RAM then you might think about how a two server configuration could benefit you.
In my experience, mailserver administration can be a bigger workload than webserver admin (that is, if you're providing mail service for multiple clients, not just personal accounts).
You might consider outsourcing mail entirely -- to a professional, third-party provider. It would significantly reduce the load and memory usage on your server (no need for spam/virus scanning) and make for less work for you -- at a cost of course. I certainly would not farm it out to a shared hosting service.