Potential NRE from a post on SE: http://stackoverflow.com/a/6756900
tcpClient can be not null, but tcpClient.Client can be null...maybe this will fix some of the issues with servers crashing.