- Only you can know how much RAM is required for your code. You should be able to get a decent idea of what you might need by looking at how the system resources are used when you are running your code and size appropriately.
- I've yet to hear anyone complain about having too much RAM.
- When you have the RAM, the next thing you'll want is more cores :)
- It's far easier to add RAM than it is to add cores.
To strictly answer your question, when your machine begins using virtual memory/swapping to disk, you are paying a significant performance penalty since disk I/O is orders of magnitude slower than memory access. So if you added cores they would end up waiting on disk I/O and you'd see no improvement.
An automotive analogy would be if a car's tires were incapable of dealing with the engine output and the car was underperforming because of the tires slipping. Adding a more powerful engine isn't going to help things. Adding better tires will, and then you'd want to upgrade the engine ... and the brakes ... and the suspension ... and so on ... until you ran out of money for car upgrades.