I'm using an `NSOperationQueue` and queuing up `NSOperationBlocks`. Now, blocks have a strong reference to any instances in the block, and the calling object also has a strong hold on the block, so it has been advised to do something like the following:

```
__weak Cell *weakSelf = self;
NSBlockOperation *op = [NSBlockOperation blockOperationWithBlock:^{
        UIImage *image = /* render some image */
        /* what if by the time I get here self no longer exists? */
        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
            [weakSelf setImageViewImage:image];
        }];
    }];
    [self.renderQueue addOperation:op];

```

So, my question is, let's say that by the time the image finishes rendering and that line comes back, the `Cell` object no longer exists (it has been deallocated, possibly due to cell reuse, which is a bit difficult to formalize). When I go to access `[weakSelf setImageViewImage:]`, will that cause a `EXC_BAD_ACCESS` error? 

Currently I'm trying to trace what the cause of my problem is, and I'm thinking it might have something to do with this.