Fix collection modified exception

Following scenario:

2 or more sockets are in the connections list of the listener.
Dispose is called on the listener.
The connections list is enumerated and each socket is disposed BUT there is still a subscription to the sockets Disposed event, where the socket is removed from the connections list.
BAM, "Collection was modified; enumeration operation may not execute.", crash