If I run SSIS package with many task running in parallel I assume all tasks can start and run independently. But when I debugged my test package many times I found that package had some kind of limitation which did not allow running all tasks simultaneously (all slides with except of last one).
To fix it I had to modify MaxConcurrentExecutables parameter value (=-1 by default).
According to documentation, Valid values are one and higher, or -1. Other values are invalid. A value of -1 allows the maximum number of concurrently running executables to equal the number of processors plus two. Setting this property to zero or any other negative value fails with an error code that indicates an invalid argument. This property is used when parallelism exists in the workflow. If the workflow is a series of sequential precedence constraints, then this property has no effect.
Ok, now I understand why I have 4 parallel processes (yellow blocks) at one moment. In my case, it was 2 CPU+2 = 4 allowed executables. When I changed this parameter value from -1 to 50 I was able to run all tasks in parralel (last slide).
Well, it was good to know.