I think you would be better off using regular Threads instead of threadpool.  Just create 20 Threads and put them in a generic list to manage them.    Then you can do whatever you want with the threads.

From experience, you can't rely on threadpool if you want pure performance.  Thread pool will only do the work if there are resources.  The more resources the more threads are running, the less system resources, the less threads are running.  

I've seen thread pool go from 100 threads to 2 threads in a matter of minutes and never get back up in number again.  With regular threads you are guaranteed that all 100 are running always.