Proceso sin terminación Git Bash (C #)

Como un pequeño proyecto divertido, estoy tratando de usar C # para operar el bash.exe proporcionado por Git. Quiero que el process se comporte como si lo ejecutara en la aplicación Git Bash. Con esto, quiero decir que quiero poder ejecutar el command y get la salida de dichos commands (es decir, si ingreso el command "curl –version", quiero get el mismo resultado que la image aquí y poder almacenar en una variable)

He estado muy cerca de lograr esto con el código aquí . Sin embargo, con algunos commands, encuentro que el Proceso en C # nunca termina. Por ejemplo, si trato de ejecutar el command "curl –help", encuentro que el Proceso nunca sale donde lo hizo "curl –version". Como un truco rápido, me di count de que podía arreglar esto cambiando el command a

curl --help >> output.txt 

y luego leyendo el file .txt. Esto hace que el command salga y escriba la salida correcta en el file, sin embargo, no me gusta tener que hacer esto y estoy seguro de que hay una mejor solución para hacer que los commands de este tipo salgan correctamente. ¡Gracias por la ayuda!