Eu tive o mesmo problema com o uso do VNC sobre o túnel SSH. Os congelamentos ocorreram com frequência, tanto com putty (windows) quanto openssh (linux).
Com putty eu copiei o perfil de conexão e mudei algumas opções apenas para ver o que aconteceu e não mais congela!
As mudanças na massa são:
Conexão:
UNCHECK "desativa o algoritmo de Nagle"
(Deixei "enable TCP keepalives" marcado e "segundos entre keepalives" em 30)
SELECT "versão do protocolo internet" IPv4 (em vez de "auto")
Conexão - SSH:
VERIFIQUE "Ativar compactação"
Eu não tenho certeza de qual foi a opção, mas estou feliz agora. Eu não consigo congelar, mas quando voltei para o perfil antigo para checar, ele congelou em poucos segundos.
Os congelamentos ocorreram principalmente ao enviar grandes atualizações sobre o VNC, como a rolagem de uma janela.
Talvez o algoritmo Nagle desativado tenha inundado o servidor com muitos pacotes pequenos ou talvez porque o ipv6 foi desativado no servidor VNC remoto, mas não nos outros hosts. Isso exigiria mais alguns testes com as opções individuais para descobrir isso.