The following code is an excerpt from an AutoDump+ (ADPlus) dump file that was created after the Dllhost.exe process stopped responding because of the problem that is described in the "Symptoms" section.
This code is the stack trace of the thread that is waiting for a Microsoft Foundation Classes (MFC)-specific critical section to be released:
ChildEBP RetAddr Args to Child
00cafca8 77f85c55 0000002c 00000000 00000000 NTDLL!ZwWaitForSingleObject+0xb
00cafd1c 77f85bd1 6c440000 6c375f3e 6c440024 NTDLL!RtlpWaitForCriticalSection+0x9e
00cafd24 6c375f3e 6c440024 6c440000 000a08c0 NTDLL!RtlEnterCriticalSection+0x46
00cafd40 6c37107b 00000001 000a08c0 00000000 mfc42!CThreadSlotData::SetValue+0x60
00cafd54 6c371092 6c375e77 6c37110e 6c3729e2 mfc42!CThreadLocalObject::GetData+0x70
00cafd5c 6c37110e 6c3729e2 6c38028f 00000000 mfc42!AfxGetModuleState+0xf
00cafd60 6c3729e2 6c38028f 00000000 00000003 mfc42!AfxGetModuleThreadState+0x5
00cafd64 6c38028f 00000000 00000003 00000000 mfc42!AfxLockTempMaps+0x5
00cafd8c 6c376174 00000000 00000000 00000003 mfc42!AfxTermThread+0x1c
00cafeb8 6c375d6e 6c370000 00000003 00000000 mfc42!DllMain+0x173
00cafed8 77f85058 6c370000 00000003 00000000 mfc42!_DllMainCRTStartup+0x50
00cafef8 77f852cb 6c375d23 6c370000 00000003 NTDLL!LdrpCallInitRoutine+0x14
00caff4c 77e8887f 00000000 00000008 78866e40 NTDLL!LdrShutdownThread+0xa3
00caffb4 77e887e3 00000000 00000000 00000008 KERNEL32!ExitThread+0x53
00caffec 00000000 787f2190 78866e40 00000000 KERNEL32!BaseThreadStart+0x81
CritSec NTDLL!LoaderLock+0 at 77FCF348
LockCount 7
RecursionCount 1
OwningThread d88
EntryCount 49
ContentionCount 49
*** Locked
CritSec mfc42!__afxThreadData+1c at 6C440024
LockCount 1
RecursionCount 1
OwningThread ed0
EntryCount 1
ContentionCount 1
*** Locked