SupportsKeepAlive is not checked before calling LostConnection, so throwing is probably ill-advised.

In fact, I don't think SupportsKeepAlive is checked anywhere making me think it should be removed altogether.

BTW. Just a preference, but I don't like the newline between the curly braces of an empty method. I don't know if we actually have a style rule for this since it isn't that common.