I have had exactly this problem - am I right in suspecting you get a few corrupt file messages during the disk check that follows a reboot?
I have found the following
1) It locks up much more often when running on battery than mains - I know my battery needs replacing and am trying to get another so will see what happens then
2) Removing the prefetch files (*.PF) has made things better. As I understand it, the PF files are saves of previous application configurations so deleting them does nothing detrimental to the system as it just rebuilds them as required.
When I noticed the totally unscientific observation that it is more prone to the problem on battery, I tinkered with the power settings, but this did not good. I will be following this thread with interest