I had the exact same problem, here's what I do to fix it.
(OPTIONAL) I'm a bit of a sad person when it comes to howmany hours I have on a game, so first thing I do is launch it in steam (just the launcher) so at least people see I'm playing the game.
(FIX) go to C:\Program Files (x86)\Steam\steamapps\common\Hearts of Iron 3 find hoi3_tfh.exe, the launcher for their finest hour, right click and make sure it always launches as admin, simply play the game from their, as admin.
Don't try to add it to steam as a "non steam game" because it will induce crashing.
Keep in mind this isnt the best fix in the world, I will still crash from time to time, but ONLY when I am tabbing in and out of the game (Usually to check steam messages because I can't get it to run with steam

...
I hope this helps, honestly if you're lazy like me and can't be bothered to find the real cause of the crashing, this will do it for ya
