Often when I see a system freeze up it's caked up with dust and likely needs to have the thermo paste re-applied. I would start with cleaning if the problem is still persists you may have to reformat the HD and re-install your OS & files (your HD maybe having problems).
Are you up to taking your system apart? Do you have the needed tools, ESD mat & wrist strap?
If you do follow this guide Upper case removal. Make sure to fully scrub down the logic board, heat sink fin from the back and fan with a soft brush. Using can'ed air blow out the junk. Follow proper ESD practices!
If the system is not that dirty you should consider pulling the heat sink off so you can apply fresh thermo paste onto the CPU & GPU to get better heat transfer as the old paste is most likely not doing a very good job any more (causing the fan to run hard). Follow this guide to Step 26 (you don't need to go all the way here) Logic board removal