Acho que você pode estar confundindo HA e tolerância a falhas
O HA não mantém duas versões da máquina virtual em execução. Se detectar uma falha no sistema operacional host, ela reiniciará automaticamente a VM. Efetivamente, sua VM terá sido reinicializada e você terá perdido qualquer informação de estado.
Com tolerância a falhas, uma 'cópia de sombra' da máquina virtual é executada em um segundo ESX, tudo é replicado exatamente. Se o aplicativo falhar, ele terá falhado por meio de codificação incorreta, vazamento de memória, memória alocada incorretamente, qualquer coisa. Esse erro também ocorrerá no segundo ESX, porque é uma cópia exata da máquina que executa o mesmo código da mesma maneira e ambos falharão. O que a tolerância a falhas faz é protegê-lo contra uma falha de hardware de uma das máquinas ESX porque a máquina sincronizada poderá entrar e assumir exatamente onde a máquina com falha parou e você não perderá dados transacionais.
Há uma visão geral no site da VMware aqui e o vídeo vinculado dentro explica isso muito bem. Este explica a tolerância a falhas em mais detalhes.