title: Does GCHandle.Alloc prevent paging?
body: <p>Suppose you do this:</p>
  <pre><code>byte[] arr = null;
  GCHandle handle;
  try {
      arr = new byte[1024];
      handle = GCHandle.Alloc(arr, GCHandleType.Pinned);
      
      // Do something with arr
  }
  finally {
      if (arr != null) {
          Array.Clear(arr, 0, arr.Length);
          handle.Free();
      }
  }
  </code></pre>
  <p>Is it possible for <code>arr</code> to be paged to the disk?</p>
  <p>I know that <code>GCHandle.Alloc</code> prevents the <code>GC</code> from moving the data around, but does it prevent <strong>paging to the disk</strong>? If somebody were to use up all the systems memory, would it be possible that <code>arr</code> is written to the disk?</p>