dispatch_async takes an objective-C block which will do a copy of its argument rather than a move. As discussed in bug 230662 ; this can be problematic of the object originally moved can't be copied.
<rdar://problem/83429276>
incorrectly created a new bug for this one *** This bug has been marked as a duplicate of bug 230881 ***