UIPageViewController trava quando invertido muito rápido durante pouca memória

Eu tive alguns problemas de memória devido ao template do Xcode para um UIPageViewController armazenar em cache todos os dados da página, então eu mudei para carregar as páginas dinamicamente, agora quando meu app recebe um aviso de pouca memória, libera a memória para a página não aparecer, mas se o usuário está folheando as páginas rapidamente tocando na borda da tela, ele ainda trava. Eu estou supondo que isso é porque ele não pode liberar a memória rápido o suficiente quando chamadoReceiveMemoryWarning é chamado. Se o usuário está virando devagar, tudo funciona bem. Limitei a velocidade com que o usuário pode virar as páginas, mas ainda acontece. Eu quero ser capaz de liberar a memória toda vez que a página é girada, e não ter que esperar por um aviso de pouca memória. Estou usando o ARC. Existe uma maneira de fazer isso? Ou o que mais posso fazer para evitar isso? Obrigado.

EDITAR:

<code>(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
    NSUInteger index = [self indexOfViewController:(SinglePageViewControllerSuperclass *)viewController];
    if ((index == 0) || (index == NSNotFound)) {
        return nil;
    }

    index--;
    return [self viewControllerAtIndex:index];
} 

(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
    NSUInteger index = [self indexOfViewController:(SinglePageViewControllerSuperclass *)viewController];
    if (index == NSNotFound || index == MAX_PAGE_INDEX) {
        return nil;
    }

    return [self viewControllerAtIndex:++index];
}
</code>

questionAnswers(5)

yourAnswerToTheQuestion