When an executor service configuration of type INSTANCE for a sub program, a thread is created at the beginning of the sub program and destroy at the end of the sub program. This may increase the number of threads created significantly in the case of using the sub program in a Loop.
In such case, the created threads should be cached to be reuse in a next iteration.