We experienced a worker process crash in our ASP.NET 2.0 application.
Here is the report that was dumped when the worker process crashed:
Version=1
Event
To add to Kev's excellent answer -
Right Click > My Computer > Properties > Advanced Tab > click the Settings button under Start up and Recovery > choose "Complete Memory Dump" and specify a location with enough HDD space equal to the amount of RAM in the server.
Once the crash has reoccurred and the memory dump is successful. Install WinDBG, open up WinDBG, File > Open > load the memory dump (.dmp)
Then load SOS (eg .loadby sos mscorwks)
!clrstack
This will churn out a huge stack trace that will most likely identify a recursive function or some huge allocation as Brian Grunkemeyer - MSFT said in the link Kev provided.
Your probably going to have to put a limit on the depth of the recursive calls... or something similar.
Good luck! You can always call Microsoft PSS if you need help with the diagnosis. Remember to download the Public Symbols from Microsoft before you issue !analyze and !clrstack - in order to see method names. If you need to see method bodies in Microsoft DLLs in a dump file you need the private symbols (only avail to Microsoft engineers).