Seems that SysInternals Process Explorer does the trick.
This is thread’s call stack:
Clearly the DSpellCheck is the evil. I disable it and there is no hangs until now.
ntoskrnl.exe!KiCpuId+0xaa
ntoskrnl.exe!ExAcquireSpinLockExclusiveAtDpcLevel+0x2c2
ntoskrnl.exe!KeWaitForSingleObject+0x1a3
ntoskrnl.exe!ExReleaseResourceForThreadLite+0x60
ntoskrnl.exe!KeInsertQueueApc+0x725
ntoskrnl.exe!ExAcquireSpinLockExclusiveAtDpcLevel+0x4cd
ntoskrnl.exe!KeWaitForMultipleObjects+0x272
win32k.sys!memset+0x7c97
win32k.sys!memset+0x7d59
win32k.sys!EngFntCacheLookUp+0x1747b
win32k.sys!memset+0x6c9e
win32k.sys!EngFntCacheLookUp+0x60b0
win32k.sys!W32pArgumentTable+0x3818a
win32k.sys!EngSetLastError+0x7f
win32k.sys!EngSetLastError+0xd836
ntoskrnl.exe!longjmp+0x5b93
USER32.dll!IsDialogMessageW+0x20a
USER32.dll!UserHandleGrantAccess+0x4020
DSpellCheck.dll!isUnicode+0x55ed2
DSpellCheck.dll!isUnicode+0x3bae
DSpellCheck.dll!isUnicode+0x35cb1
DSpellCheck.dll+0x4a1d
DSpellCheck.dll!beNotified+0x98
Notepad++.exe+0xd7fe6
Notepad++.exe+0xd7ede
Notepad++.exe+0x8e94a
Notepad++.exe+0x12fc4e
Notepad++.exe+0x13e35f
kernel32.dll!BaseThreadInitThunk+0xd
ntdll.dll!RtlUserThreadStart+0x1d