.NET already has this as part of the thread pool it manages automatically for you. You don't need to create your own threads unless you have very specific needs such as having multiple long running threads (aka server threads) or similar. For short lived requests everything has switch to tasks as it is easier, cleaner and more efficient in many cases.
Can you elaborate on why you need to create a library to manage threads? In general this extra layer isn't going to be useful outside perhaps the server side of a client-server application.