Não concordo... Os fontes parecem corretos... não há concorrência ou chamada recursiva no tratamento dos comandos... Observe que o Timer de monitoramento é desligado assim que um arquivo é encontrado e somente é religado quando o metodo "Processar" é finalizado... O método "Processar" por sua vez, trata linha a linha dentro de um loop... cada comando executado, tem seu retorno tratado e anexado no arquivo...
Acho que não é uma boa prática o envio de comandos em lote... talvez a comunicação em Sockets (TCP) pode funcionar melhor para o seu caso...
Em todo caso... não consegui reproduzir o problema... Já descrevi nesse tópico qual foi minha metodologia de teste... (ou seja, do meu ponto de vista não há bug)
Se você me enviar um passo a passo como posso reproduzir o problema, usando um BAT ou bloco de notas para a geração dos arquivos de Entrada, posso tentar investigar...