title: Several background workers incrementing thread IDs rapidly
body: <p>I'm making an app with about <em>six background workers</em> and <em>one Thread</em> with queue for mssql queries. It has to be very stable and development is towards the end, so I run a small test, where the app ran for about four hours. Everything was fine, except threads IDs.</p>
  
  <p>I log all important events and error together with thread ID. The problem is, that when the <em>app started</em>, there was I*D values between 5 and 15* but <em>after four hours</em> most of thread <em>ID values were between 70 and 90</em>. Only <em>sometimes</em> those were <em>15, 40, or something smaller</em>.</p>
  
  <p>My question is can this lead to "<code>running out of free threads</code>" error? I don't know why is this happening. Two background workers make infinite loop (checking for value) and the others are run several times, when its needed. Is there some kind of GC for threads? Why the IDs have so big values?</p>
  
  <p>I didn't do anything else on the machine while the test ran. </p>