You could start by checking Event Viewer after a freeze, but if it's not even giving you a BSOD, there's a decent chance nothing is getting written there. Win+R -> eventvwr.msc will launch that, if you want to take a look (Critical and Error events are the ones to keep an eye out for). Still, it takes all of a few seconds, so it's worth looking.
My best guess based on what you've said would be the CPU overheating enough to be unstable, but not catastrophically-failingly so, but it's easier to do some stress testing than hope some random person on some fora is right.
Start by clearing all that dust out. Pay particular attention to any heatsinks with fans - you might want to get some compressed air, hold the fan still, and blow the dust out of those.
Grab Intel Burn Test
, set the stress level to Maximum, and Times to run to 10. It'll probably take an hour or so to run, unless it finds an error. If it passes, your CPU is almost certainly okay and you can move on to testing other things. If not, you'll need to sort that out, and that bridge can be crossed when you get to it.
If the CPU checks out okay, RAM would be the next thing to check. Download HCI MemTest
and launch four copies (one per core, basically). Set each to test 1/4 your available RAM (which will probably end up being just a touch under 2GB per instance), hit "Start Testing" on each, and let them run until they all report several hundred percent coverage. Again, this will take some time. If your RAM is okay, you shouldn't see any errors, otherwise you'll probably want to replace it.
Those are the two most likely culprits and are easy enough to test in a hands-off fashion, so start with that and hope that pins things down.