use dispatch on main queue
Summary: Ths differential overwrites solution from its parent diff. Instead of waiting to call completionHandler until rescinding loop completes, we schedult its call on main thread.
Test Plan: Test plan is the same as for its parent diff
Reviewers: palys-swm, atul, ashoat
Reviewed By: ashoat
Subscribers: ashoat, Adrian, yayabosh
Differential Revision: https://phab.comm.dev/D4576