title: How to get .NET to uncommit unused RAM?
body: <p>Here are the stats for my program after it used memory extremely intensively, consuming 6 GB at its peak, but then saving everything to disk and leaving very little in scope:</p>
  
  <p><img src="https://i.stack.imgur.com/O9RVd.png" alt="Screenshot"></p>
  
  <p>Observe that almost everything has gone out of scope <em>and has been garbage collected</em> - the heap sizes are tiny. And yet, .NET keeps 181 MB <em>committed</em>.</p>
  
  <p>I don't mind the reserved bytes, since that only consumes address space. But the committed memory is annoying &ndash; even if it only resides in the page file, it's still quite a lot.</p>