title: Does GC stop all app threads in .NET?
body: <p>I was reading and <a href="https://www.jetbrains.com/help/profiler/Optimize_App_Performance_and_Memory_Traffic.html" rel="nofollow noreferrer">article</a> about optimizing .Net app performance. The authors state</p>
  
  <blockquote>
    <p>it shows what the main thread did during all those GCs. Most of the time (97.3%) it was <strong>Waiting</strong>. <strong>This means that GC took place on some other thread</strong> (obviously on the FileProcessing thread) and the main thread had to wait until the GCs were finished.</p>
  </blockquote>
  
  <p>As far as I know .Net GC is stop-the-world collector. Thus, if your Main thread is waiting, that means ALL other threads must be waiting as well. Except GC thread itself.</p>
  
  <p>Is the article outdated or I'm getting it wrong?</p>