When it freezes does do the graphics go all messed up and you have to reboot?
My initial thought, as soon as i saw you were using an 8800GT, is a heat problem. There are (or at least were) fairly widespread problems with the 8800GT when using stock coolers.
I would suggest going to the
NVidia website and downloading a free utility called NTune and install it. Just use the Search box in to top right and search for NTune.
This is an add on utility to the NVidia drivers which gives you much greater control over the card (including overclocking but you don't have to do it).
When you have installed it go to you NVidia control panel and you should see more options down the left side. One of the options, when you click on it, will bring up an EULA (End User License Agreement) accept that and the options will become available. This is where you can do overclocking but you can also manually control the fan speed of the GPU cooler. About half way down the page you should see the fan speed controls, it will likely be set to automatic. Before you start up the game change it to manual and set the fan speed to around 80%-90% on the slider bar. This will increase noise slightly but will tell you if it is a heat problem because if the game runs fine with the fan up higher then its keeping it cooler and stopping it crashing.
I had this problem with my 8800GT and changing the fan speed solved it and it never crashed again. In the end I bought an after market cooler for the GPU and fitted that and have never looked back.