title: Does Task.Factory.StartNew has any performance side effects?
body: <p>I'm catching and logging exceptions in an ASP.NET Web API 2 app by starting a new thread to log:</p>
  
  <pre><code>void MainMethod(){
      try{
          // stuff...
      } catch (Exception ex) {
         Logger.Log(ex);
      }
  }
  
  class Logger {
      void Log(Exception ex) {
          Task.Factory.StartNew(() =&gt; LogAsync(ex));
      }
      void LogAsync(Exception ex) {
          // doing some reflection stuff to retrieve code-place
          // saving the log...
      }
  }
  </code></pre>
  
  <p>The question is: in a real high traffic app, does this approach has any side effects? Is it better to log in the main context?</p>
  
  <p>P.S. The question is related to <a href="https://stackoverflow.com/q/29577652/645167">this one</a>.</p>