We had the same issue (multi-instance subprocess stuck) and found that the cause was that we were overwriting the loop control variables. Instead of calling complete
with task.getVariables()
as argument, try providing only those variables that you want to change.
-Hans