Very unreasonable overhead. You should re-think your design totally. There are could be different reasons for using threads. Do you need to more fully use your CPUs/cores (but then you hardly need more CPUs than cores) or thread represent logical entities of your application (such as in the famous problem of dining philosophers).
It is very likely that you can use one of a fixed small number of threads. You can also use the Thread Pool pattern, see
http://en.wikipedia.org/wiki/Thread_pool_pattern[
^].
—SA