if doReconnect thread is slow or blocked (owning the mu lock), then the ping timer keeps creating threads until resources are exhausted.
if doReconnect thread is slow or blocked (owning the mu lock), then the ping timer keeps creating threads until resources are exhausted.

We have a memory dump with > 900 threads for the timer.

nats-io/csnats,stephenjannin/csnats