I'm not too sure .. I always thought that calling 
```objc 
dispatch_async(dispatch_get_main_queue(), ^{ });
```
on the mainThread had nil effect.

I could very well be wrong .. do you have evidence that this `check` is required ?