I had a cool idea concerning threading in C#. I was reading a book called "CLR via C#" and it was discussing threading, and how people should seldom use actual thread objects, and instead should use the thread pooling services. The reason being they spool up worker threads for you to use and they reduce the overall overhead because of thread re-use. Now I had an idea. Since C# has now been open sourced and dumped online, I was thinking that perhaps an alteration to the threading API could allow us all to use the thread pool service behind the schenes without any extra effort on our part. All that would be required would be defining an 'internal' thread object for use in the API, and also defining an external thread object that is basically just a wrapper for a call to the thread pool service. Thread.Run would essentially call a thread pool. It seems like it would be easy peasy, but I thought I would leave it up to somebody who knows the API if they thought it was a good idea. The idea is kind of deceptive to the end programmer however, so it is up for debate.