Animação por loop infinito

Estou tentando criar uma animação com loop infinito, mas estou tendo alguns problemas. Estou usando essa linha de código para tornar minha visão "pulsante" em vermelho, mas quando chamo essa linha, ela funciona, mas deixa minha interface sem resposta.

[UIView animateWithDuration:1.0f 
                      delay:0.0f 
                    options:(UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat) 
                 animations:^{ 
  self.backgroundColor = [UIColor colorWithRed:0.5 green:0.0 blue:0.0 alpha:1.0]; 
} 
                completion:nil];

Minhas perguntas são: 1) esta é a maneira correta de fazer isso? 2) por que isso faz com que a interface do usuário não responda?

questionAnswers(1)

yourAnswerToTheQuestion