title: The purpose of SynchronizationContext.CreateCopy
body: <p>The following is a typical implementation of <a href="http://msdn.microsoft.com/en-us/library/system.threading.synchronizationcontext.createcopy%28v=vs.100%29.aspx" rel="noreferrer"><code>SynchronizationContext.CreateCopy</code></a>:</p>
  
  <pre><code>public class CustomSynchronizationContext : SynchronizationContext
  {
     // ...
  
     public override SynchronizationContext CreateCopy()
     {
        return this;
     }
  }
  </code></pre>
  
  <p>The MSDN docs are scarce about this method. My questions are: </p>
  
  <ol>
  <li>Under what circumstances does it get called by the Framework?</li>
  <li>When to implement the actual copy logic, rather than just returning a reference to the
  source instance?</li>
  </ol>