Em situações esporádicas, pode ser que o Runner pareça ficar travado após puxar uma nova tarefa para execução.
Nesse tipo de situação, a execução não é iniciada e o status do Runner fica como Executing task... até que o Runner seja reiniciado.
No geral, o que pode causar esse tipo de problema são os recursos utilizados pela execução anterior, que não foram finalizados da forma adequada. Dessa forma, quando há a tentativa no código de acessar esses recursos novamente, ocorre um conflito por causa do sistema operacional considerar que esses recursos já estão "em uso".
Um exemplo clássico é a utilização do WebDriver em automações Web. Sem a finalização adequada, pode ser que o WebDriver continue em execução mesmo após a finalização do processo, fazendo com que isso afete as execuções seguintes.
Uma possível solução para esse tipo de problema, é incluir tratamentos no código para garantir que todos os recursos que são alocados e utilizados pelo robô, sejam finalizados da forma correta ao final da execução, mesmo em casos onde ocorram exceções.
Seguindo essa boa prática, toda vez que esse processo for executado pelo Runner o ambiente vai estar "limpo", e com isso não haverá problemas na tentativa de utilizar determinados recursos.
Dica:
Você também pode sempre consultar o arquivo de log.txt gerado pelo Runner, para verificar eventuais exceções que possam ser lançadas durante a preparação do ambiente e execução do processo.