Okay. Please open Task Manager to the Processes Tab. Sort on the cpu column with highest usage at the top. Next time the system freezes see if one of the processes is spiking. If not, I suggest a selective startup. It's going to be time consuming, but it will help us determine if something loading with the system is causing the problem.
To run a selective startup test, open msconfig and on the General tab choose "selective startup" (uncheck all three items) and reboot. Does the problem still occur? If not, start adding items back to msconfig one or two at a time, rebooting after each change, until the problem reappears and you'll have identified the offending process. This is clearly a time consuming procedure, but it is the best way to determine if some process loading with the system is the cause of your problem.
After you've isolated the cause, do not use msconfig to permanently disable the process. Instead, if it is a service go to START - RUN and type: services.msc (then press enter) and disable the service OR, if it a program, you can download & run a simple app such as Mike Lin's Startup Control Panel (
http://www.mlin.net/StartupCPL.shtml) to enable, disable, or otherwise manage startup programs.