How to track why an execution is paused sometimes

I'm testing the new concurrency (actor, await, group, etc) and I'm having a weird (for me) problem.

I have a method that executes 9 concurrent process using withThrowingTaskGroup. Each process starts fetching data from coredata, each in their own context.

I start the execution tapping a button.

The problem is that sometimes the execution get paused, usually in a very similar place (in an await context.perform{}). The code inside the perform executes well, but it's like the await doesn't return control to the next line of code.

The curious thing is that if I tap the button again, the old paused process continues and finishes, while the second process runs its own execution.

Is there any way to track what is happening?

How to track why an execution is paused sometimes
 
 
Q