When I try to lookup the process variable myVar in the sub-process I can't find it.
Also, I saw that myList.getList() is being run multiple times. The list has only two entries in it, but from a println in getList() it seems to be run about six times! The correct number of sub-processes (2) is created.
The running multiple times may be transaction roll back and retries. I've just been working on a similar problem where I haven't set process variables correctly. I just see my service task run and fail 3 times 10 seconds apart. I assume a rollback is occurring then the transaction is retried. No error is shown presumably as the exception isn't caught.
In your case you have 2 sub processes, so it could be the same behaviour, if each fails and retries 3 times that gives 6.