se il socket non si connetteva vuol dire che era configurato male.. il tcpClient è un socket preconfigurato per gestire il protocollo tcp.. quindi nulla di speciale..
non so il perchè ritorni ancora true ma se fossi in te controllerei che il programma sia effettivamente chiuso.. magari è ancora attivo ma invisibile..