I haven't actually dug in to see where all the memory is going precisely, but my email/web workflow (Firefox+Thunderbird) has been the same for about ten years now, so it's interesting that it continues to bump up against memory limits no matter how much memory I have. But, Windows on the same system has similar memory issues when working on the same tasks; so it is not immune, but I don't think it is notably worse than Linux.
swapoff -a -v
echo 3 > /proc/sys/vm/drop_caches
I recommend `htop` to check out your memory usage after that.You can also tweak the vm.swapiness variable to change Linux's behavior there. I personally just turn swap off on all my systems as soon as I set them up.
(If you're looking at Microsoft's Task Manager, make sure you're seeing the amount of memory in "available", that's what counts. "Free" is kind of a useless measure in Vista+.)