There is no such a thing as a forced disconnection, so you are free to implement it in any manner suitable for your application.
I don't see anything wrong with your approach, however, I would prefer something more user-friendly.
Let's just think what do you want your user to see?
If you need your game client to stop and report that the user has been disconnected by server,
all you need is an event on your game interface, such as:
public interface IGameSession
event EventHandler DisconnectedByServer;
Your game client receives an event, displays a message box and disposes of the connection instance, that's all.