Very poor performance after dismissViewController
<p>I have a view controller that presents another one modally which contains a gif and a table view with animation on the cells, and when I dismiss it, the app has an annoyingly long delay before you can do anything again (like 3-5 seconds).</p>

<p>I've found answers that say it's because I still have a reference to the vc after its dismissal, but I don't see how that's possible because the only place I make a reference to it is in prepareForSegue.</p>

<p>Any suggestions?</p>

<p><strong>Edit 1:</strong></p>

<p>Here is my <code>prepareForSegue</code>:</p>

<pre><code>override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let destVC = segue.destinationViewController as! InWorkoutViewController
    destVC.workout = workout
}
</code></pre>

<p>The destVC's workout property is an optional custom class.</p>

<p><strong>Edit 2:</strong></p>

<p>Here is how the VC is dismissed (still very slow):</p>

<pre><code>@IBAction func tappedX(sender: AnyObject) {
    dispatch_async(dispatch_get_main_queue(), { [unowned self] in
        self.dismissViewControllerAnimated(true, completion: nil)
    })
}
</code></pre>