The only way to get out of the hang is to recycle the process (IISReset).
Debugging the issue: I have seen this issue before on a few occations and although as you will see later it was currently fixed in the framework, but in my earlier cases on this we ended up not needing a fix since the customers I worked with made code changes that made it such that they no longer were subject to the issue. Thread 75 triggered a garbage collection by making an allocation that would have made Gen 0 go over its allocation budget.
PEImage:: Load Image 0x199 1124df74 79e7187c ffffffff 00000000 00000000 mscorwks!
CLREvent:: Wait Ex 0x117 1124df84 7a0d0d0f ffffffff 00000000 00000000 mscorwks!
kb 2000 Child EBP Ret Addr Args to Child 1124de6c 7c822124 77e6bad8 000002e8 00000000 ntdll!
Ki Fast System Call Ret 1124de70 77e6bad8 000002e8 00000000 00000000 ntdll!
GCHolder 0x2d 01a0fe2c 7a0e673e 00000000 7a393704 7a114dea mscorwks!
Allocate Array Ex 0x1d1 1124e244 7937f5c2 064f60b8 064f60b8 064f60b8 mscorwks! Nt Wait For Single Object 0xc 01a0fce8 79e718fd 000002e4 ffffffff 00000000 kernel32! CLREvent:: Wait 0x17 1124dfa8 7a0d5289 ffffffff 000d4558 106cb970 mscorwks! SVR::gc_heap::wait_for_gc_done 0x99 1124dfcc 7a0d5fa2 00000000 00000000 00000020 mscorwks! Wait For Single Object Ex 0xac 01e2fe20 79e718c6 000002d0 ffffffff 00000000 mscorwks! PEImage:: Load Image 0x199 01e2fe70 79e7187c ffffffff 00000000 00000000 mscorwks!