I think if there were some kind of rationale for pool size 2, it would have been to prevent blocking if other tasks are used and the task in store is running/executing. However I don't remember if all the threads are fired up automatically to match the pool size.