Like you mention, if Negotiate fails (the only way ConnectionToken will be null here), Disconnect will be called first. This will put us in a Disconnected state causing the rest of Stop to noop.