First I would advise reading this: http://blogs.msdn.com/oldnewthing/archive/2007/03/01/1775759.aspx
then http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx
To summarise, the limitation is normally stack space (which must be in contiguous blocks) and since every thread consumes this scattered about you rapidly run out of contiguous blocks. On 64 bit machines and operating systems this is much less of a problem.
Mitigation strategies exist but will only go so far (and rely on you not using much stack per thread)
As a rough guide:
You likely shouldn't need to create more than ten anyway (and if you really do need to you should know this information already)
The best answer I've heard when asking such questions is:
It doesn't matter, and if you find that it does matter, you need to rethink what you're doing so that it doesn't matter.