クラ側のコードは関係ない
ちょっとググったらWindows環境の場合はWin32APIから例外出さないように内部のWinSockオブジェクトにアプローチ書けないとダメっぽいな
なので手っ取り早く安全に行きたいなら65行目のforeach中に一つ一つtry-catchいれて例外の型がSocketExceptionで且つコード10054の場合はClientsリストから削除していくのがいい
その場合はforeachだとその中で削除できないから逆順forでRemoveAtすればいい