Could also be some method your running (IO?) where IUSR_ doesn't have sufficient permissions.
You might want to set up Tracing into a log to see how far your webservice gets before the hanging starts. Put a bunch of Debug.Writelines in
Also, perfmon to see what ASP.NET resources are being consumed (threads, CPU) causing the hang...