I've been encountering the same waiting problems. It likes to run things in the background with suppressed output, waiting for it to exit before it takes action. That's great when nothing goes wrong but today alone I've had to break in two or three times when something obviously broke and it was sitting for over 10 min.
IMO it should have the option to observe background tasks with a small model to make sure it's working correctly.
Edit: It just happened again, something that was actually completed didn't exit and it waited 30min for a timeout.