"Thread pools have various strategies to deal with incoming work when all threads are busy, e.g.: rejecting the excess work; waiting; executing the job in the thread adding the work. In the last case, this could potentially cause the work pipeline to stall behind one work item, even if the pool becomes free to accept more work, so should be considered carefully. The symptom for this situation would be for the 'adding' thread to be busy while many of the pool threads become idle."