Esse bug faz com que o programa pare completamente ou seja interrompido? Se ele parar, você pode simplesmente usar as propriedades do serviço para reiniciar o serviço automaticamente (Serviços - > Propriedades - > guia Recuperação).
Como alternativa, você pode usar uma tarefa agendada que execute um script em lote para verificar o status do serviço e iniciá-lo, se necessário.
Isso fica mais complicado se o programa trava sem o fechamento do processo.