I have multithreaded .net 4 windows forms application, that sometimes just stop to answer to user actions and Invoke() calls.
I have made a dump during this hang, and seems that main thread is blocked inside of waiting for user input.
Here is stack trace for main thread: http://pastebin.com/dVee3T0N
Why did it suck there, and could I lock something, that can be used in message pump, I did not lock any of native things directly.
After hang began - CPU usage of main thread is zero.