Since people demand a human readable explanation, I will explain it here.
At random interval (probably not- more likely that there is a certain huge wiki page being requested), the web server software would overwhelm the database software. The database would refuse to serve any new requests; At the same time, new requests continues to come in. The web server have no choice but to queue up all the new requests. As time goes on (within 5 min), there would be so much queued requests that the server grind to a halt.
This is likely a bug in the connector between the web server and the database. I am hoping that a new version of the connector, scheduled to be released today, would cure the problem. For now, I have made some setting changes and is actively monitoring the server. Finally, I scheduled the http server software to restart itself every 2 hours so that, even if the http server does get stuck, downtime would be minimal.
So far, things holding up pretty nicely (as in, my fixes are finally working and the server is not freezing).
I know it's been frustrating for everyone. Believe me, I am frustrated about this issue as well (I spent my last 3 weekends setting up test environments + compile each component manually to isolate the problem- doesn't work).
In any case, sorry about the trouble everyone. And no data is ever lost- everything is backup bi-weekly :p
Also, the current hosting company is probably the one of the most, if not the most professional hosting company I've ever dealt with. So don't be too hard on them :p