title: Exception when calling SuspensionManager.SaveAsync()
body: <p>I'm building a Windows 8 app and have come up with the following exception:</p>
  
  <blockquote>
    <p>SuspensionManager failed</p>
  </blockquote>
  
  <p>When running the following code:</p>
  
  <pre><code>private async void OnSuspending(object sender, SuspendingEventArgs e)
  {
      var deferral = e.SuspendingOperation.GetDeferral();
      await SuspensionManager.SaveAsync();
      deferral.Complete();
  }
  </code></pre>
  
  <p>The exception occurs on the third line of the method, and it doesn't really give any detail.</p>
  
  <p>I've failed to find anything useful regarding this on the net. Has anyone seen this before?</p>
  
  <p>//EDIT</p>
  
  <p>This may be related to the fact I'm using a <code>dynamic</code> type variable for the Windows 8 Facebook SDK.</p>
  
  <p>Are <code>dynamic</code> variables not allowed?</p>
  
  <p>//EDIT 2</p>
  
  <p>Here's the usage of the <code>dynamic</code> variable:</p>
  
  <pre><code>dynamic result = await FB.GetTaskAsync("fql", parameters);
  if (result.data.Count &gt; 0)
  {
      return result.data[0].src_big as string;
  }
  </code></pre>
  
  <p>and the call stack for the exception:</p>
  
  <pre><code>mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task task) + 0x5e bytes  
  mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) + 0x35 bytes 
  mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0x16 bytes   
  FacebookRandomizer.exe!FacebookRandomizer.App.OnSuspending(object sender, Windows.ApplicationModel.SuspendingEventArgs e) Line 86 + 0xa5 bytes  C#
  [Native to Managed Transition]  
  </code></pre>
  
  <p>the first three are external code, and the fourth is my method in App.xaml.cs.</p>