// Переходим в рабочий поток.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Выполняем мерджинг.
UIImage *resultImage = [UIImage imageByCombiningImage:firstImage withImage:secondImage];
// Возвращаем картинку в главный поток.
dispatch_sync(dispatch_get_main_queue(), ^{
imageView.image = resultImage;
});
});