fix: Listen() should return when calling Disconnect() instead of being blocked with ReadLine() waiting for WaitOne()