Still got dc after PING/PONG

I’d move the Thread.Sleep out of the try/catch just in case there is ever a situation where message cannot be sent. Otherwise, that loop will eat 100% of your CPU if for whatever reason that method fails. That, or just add another Thread.Sleep(50) in your catch.