Connecting is not a regular task and can't be cancelled in this way. Use Close(true) instead as this will close the socket forcefully. Also, you should be able to use the Timeout property to achieve the same effect. This will also allow you to call the synchronous method, Connect, which will simplify your code.
- Hans (EnterpriseDT)