An exception should occur: after 20 seconds and the next IO operation you do after that. Are you waiting that long? Or is your Read call returning zero?
See #2 at https://32feet.codeplex.com/wikipage?title=Connected%20Property
In my testing with Bluetooth it seems to take about twenty seconds for one device to realise that other device has gone -- though this may be configurable. This is called the “Link Supervision Timeout” in Bluetooth. So you will have to wait up to that long for the system to know that the connection is lost, and then you will find out at your next IO operation If you start a read when there is no data being received for instance, it will block until the connection fails, or is closed (or some data is received).