Change Execute() to use async for readon output/error

This avoids blocking two threads. Unclear whether it will address @HenrikFrystykNielsen's issue.