Проведя некоторое время в Reflector, мне кажется, что состояния Broken и Fetching также используются по крайней мере в одном или двух местах. Лучшей практикой кодирования было бы предположить, что можно использовать любое из значений, и защищать код. Например, если вам нужно узнать, открыто ли соединение, проверьте состояние == Открыто, а не состояние! = Закрыто.