title: Understanding context in C# 5 async/await
body: <p>Am I correct that async/await itself has nothing to do with concurrency/parallelism and is nothing more than continuation-passing style (CPS) implementation? And the real threading is performed by <code>SynchronizationContext</code> instance that <code>await</code> passes/restores?</p>
  
  <p>If that is correct I have the following question about <code>SynchronizationContext</code>:<br>
  it guarantees that a continuation will be executed on the same thread.  </p>
  
  <p>However, are there any guaranties that the thread's context information is persisted? I mean <code>Name</code>, <code>CurrentPrincipal</code>, <code>CurrentCulture</code>, <code>CurrentUICulture</code>, etc. Does it depend on framework (ASP.NET, WinForms, WCF, WPF)?  </p>