An implementation of ThreadPool in C#