As a software developer who uses his personal phone for testing and debugging software I've had plenty of practice crashing and locking up my phone.
Instability is usually fixed by removing the offending program and doing a soft reset (or a hard reset if I've really messed things up).
More recently I've had problems with my Palm Treo Pro - it would frequently lock up, sometimes 2-3 times a day. I'll save the long story but I wasn't able to find a cause for the problems and eventually concluded I had physically damaged the phone.
Two nights ago my phone locked up and when I rebooted it refused to read my 8gig memory card. After a bit of troubleshooting I discovered the card itself was bad - and its now completely unreadable. I swapped in a new one and my phone behaving perfectly.
Boring story? Yes ... but I've never had a memory card go south on me and I certainly never thought it would cause my phone to crash. Hopefully this saves someone some frustration.