If you get an exception the key is to handle it properly in your code.
Unless the Status of the exception is set to ProtocolError, then you will have to reconnect for sure. The IsConnected property cannot be used for checking the actual connection state, see the Note in its documentation: "There is no guarantee that the session is still connected even though IsConnected returns true."
The only way to really know for sure you that are still connected to the SFTP/FTP or any other server is to send a command and receive the response, the easiest with Rebex FTP or SFTP would be to do:
Sftp sftp = new Sftp();
sftp.GetInfo("."); // or sftp.GetInfo("/");
If the above succeeds then your connection is active and working.