Das liegt nicht am Provider, da es in den Tiefen der Sockets verborgen ist.
Man findet diesbezüglich auch mit .NET ähnliche TCP/IP Hinweise in Google bis zum Hängenbleiben der Anwendung.
Selbst der Garbage-Collector hängt sich auf da sich TCP/IP-Ressourcen nicht freigeben lassen.
Das Schlimme beim Testen ist ja, den genauen Zeitpunkt für die Netztrennung zu erwischen. Im Debug-Modus funktionierts meistens nämlich nicht, da ja alles gebremst ist und der Fehler reproduzierbar nur 1x bei 10 oder mehr Versuchen klappt.