I really don't see how you couldn't replace MongoDB in that post with any other database and still be presented with the same issues:
- adding indexes slows writes down and increases memory requirements
- running queries with poor / no indexes will cause you to have I/O constraints and an unhappy CPU
- it seems like your data set was better suited for a graph db like neo4j than a document db or RDBMS.
As for the data corruption, I didnt see you mention if you were checking for a response on saves or not.
I think the problems you experienced were due much more to the fact that you apparently had more data than the machine could handle, not necessarily the database engine used.