title: iOS code crashes after dispatching and returning from a block
body: <p>I have code in a block like so:</p>
  
  <pre><code>// Create thread
  dispatch_queue_t syncedQueue = dispatch_queue_create("Synced Email Queue", NULL);
  
  // Run block on another thread called syncedQueue
  dispatch_async(syncedQueue, ^{
  
      [syncedUsers user:user.username withEmails:emails inManagedObjectContext:self.managedObjectContext];
  
  });
  
  UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"Welcome" style: UIBarButtonItemStyleBordered target: nil action: nil];
  [[self navigationItem] setBackBarButtonItem: newBackButton];
  
  RegisterViewController *registerView = [[RegisterViewController alloc] init];
  
  [self.navigationController pushViewController:registerView animated:YES];    
  </code></pre>
  
  <p>In the block, the category function uses Parse and the context to save data and nothing more.</p>
  
  <p>But after the block returns I always get the following error:</p>
  
  <pre><code>"Thread X: EXC_BAD_ACCESS (code=1, address=xxxxx)
  </code></pre>