If the synchronous call to `-connect` happened first and thus would be blocked in `+defer:`'s block, then the asynchronous block would need to call `dispatch_group_leave` in order to unblock the `+defer:` call and let the main thread continue.