Ошибка в UIKit метод рисования строк?

Чтобы воспроизвести сбой, с которым я столкнулся в своем приложении, мне пришлось создать пример со слегка преувеличенной частотой повторения, который может быть непрактичным, но демонстрирует, что именно происходит в моем приложении. При рисовании строки NSString в фоновом потоке, используяNSOperationsиногда происходит сбой с последним вызовом в трассировке стека передWebCore::FontFallbackList::~FontFallBackList().

- (void)viewDidLoad
{
    queue = [[NSOperationQueue alloc] init];
    [NSTimer scheduledTimerWithTimeInterval:0.0001 target:self selector:@selector(timerDidFire:) userInfo:nil repeats:YES];
}

-(void)timerDidFire:(NSTimer*)timer
{
    NSBlockOperation *op = [NSBlockOperation blockOperationWithBlock:^{
        CGRect rect = CGRectMake(0, 0, 50, 50);
        UIGraphicsBeginImageContextWithOptions(CGSizeMake(rect.size.width, rect.size.height), YES, 0.0);
        NSString *string = @"Sd";
        [string drawInRect:rect withFont:[UIFont boldSystemFontOfSize:12] lineBreakMode:UILineBreakModeTailTruncation]; 
        UIGraphicsEndImageContext();     
    }];
    [queue addOperation:op];
}

Вы можете легко воспроизвести этот сбой с кодом выше. У кого-нибудь есть понимание природы этого крушения и почему это может произойти? (решение этой проблемы заключается в установке[queue setMaxConcurrentOperations:1];)

Ответы на вопрос(3)

Ваш ответ на вопрос