Well to be honest, you have what I would say large traffic for wordpress. Good job btw, I would love to have 400 unique visitors per hour.
To be fair, the hosting company is providing you with 512 megs of RAM with 2048 megs of burstable RAM. I think with your site's traffic, you should be on a larger VPS (Maybe even dedicated)
You may want to get another VPS or dedicated server and have the MYSQL reside there dedicated to MYSQL only. NO email, HTTP or anything.
Then I would modify your blog software to connect to that MYSQL in your configuration include document.
Other things can cause a system to have high CPU / MEMORY utilization such as DISK IO.
Hopefully you get some advertising off of your site or donations that can help offset your costs.
I hope that this helps a bit, but unfortnately my friend . . . your site may just be doing too good for that little VPS