Para qualquer um que encontre essa resposta e esteja tão estupefato quanto eu, havia duas coisas que eu precisava fazer:
Primeiro, alguns dos StdIn dos oExecs para meus scripts estavam esperando por entrada. Use oExec.StdIn.close()
para evitar isso. Finalmente, alguns dos meus roteiros estavam agindo de forma bizarra quando o texto não tinha como fazê-lo. Direcione a saída dos scripts com > nil
. Isso salvou minha sanidade.