I have discovered that the problem is most definately blocking of some kind. If I terminate the WinGate session of the UT execution after UT freezes (closing the sockets) then UT resumes right where it left off as if nothing happened. I am currently trying to determine exactly what it is that is blocking...