I just posted this JSON.NET bug that we encountered while using Web API:
We've also discovered that when JSON.NET gets in this bad state during a request, it pegs a core. If another request has the same problem it pegs another core and so on.
Why doesn't the request time out? We've had to manually kill the w3p process - recycling the app pool is not sufficient.
We are using IIS 7.5 on Windows Service 2008 R2 x64. The web site connection timeout is set to 120 seconds.