title: dismissViewControllerAnimated:completion: has a couple second delay
body: <p>dismissViewControllerAnimated:completion: is working fine in my application, except for the delay between the dismissal.</p>
  
  <pre><code>[api loginWithUsername:[dict objectForKey:@"username"] andPassword:[dict objectForKey:@"password"] andSuccessBlock:^(id json) {
      NSLog(@"DONE... %@", [json objectForKey:@"status"]);
      NSString *status = [json objectForKey:@"status"];
      if([status isEqualToString:@"ok"]){
          app.user = [json objectForKey:@"data"];
          [self dismissViewControllerAnimated:YES completion:nil];
      }else{
          UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"could not log you in" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
          [alert show];
      }
  }];
  </code></pre>
  
  <p>In my console I can see echo'ed "DONE... ok", meaning the callback block was executed, however about 3-4 seconds later the modal view is finally dismissed.</p>
  
  <p>What could be causing this delay?</p>