To get additional error information, add a global, last chance, exception handler. This will throw any exception that is not otherwise handled. It should be registered (at least (exception type, message and stack traffic (ideally also a mini-memory drive and a list of loaded assemblies with versions and code base).
This will give you a much better chance of fixing (or at least mitigating) the original problem.
The problem with sockets is that the sockets wait for a while for all the data to be cleared until they are complete (see TCP View for a while, as you will see this, because the system inherits the sockets after the applications have finished with them). A.
Richard
source share