title: When is it acceptable to call GC.Collect?
body: <p>The general advice is that you should not call <code>GC.Collect</code> from your code, but what are the exceptions to this rule?</p>
  <p>I can only think of a few very specific cases where it may make sense to force a garbage collection.</p>
  <p>One example that springs to mind is a service, that wakes up at intervals, performs some task, and then sleeps for a long time. In this case, it may be a good idea to force a collect to prevent the soon-to-be-idle process from holding on to more memory than needed.</p>
  <p>Are there any other cases where it is acceptable to call <code>GC.Collect</code>?</p>