UIWebView não liberando todos os bytes ativos usando o ARC

Atualmente, estou construindo um aplicativo de controlador de navegação no iOS 5.1 que usa o ARC. Muitas vezes preciso exibir páginas da Web e criei um visualizador da Web que é apenas um UIWebView com algum conteúdo personalizado ao redor dos lados. Quando o usuário tiver terminado de olhar a página, ele acessa o botão Voltar, que deve liberar toda a memória associada ao visualizador da Web personalizado. Meu problema é que toda a memória não parece ser liberada quando o botão Voltar é atingido. Eu construí um aplicativo de brinquedo (no github) é apenas um par de botões, cada um com uma resposta inicial que chama uma página diferente.

<code>@implementation ViewController
-(IBAction)googlePressed:(id)sender
{
   CustomWebView *customWebView = [[CustomWebView alloc] initWithStringURL:@"http://www.google.com"];
   [self.navigationController pushViewController:customWebView animated:NO];
 }
-(IBAction)ksbwPressed:(id)sender
{
   CustomWebView *customWebView = [[CustomWebView alloc] initWithStringURL:@"http://www.ksbw.com/news/money/Yahoo-laying-off-2-000-workers-in-latest-purge/-/1850/10207484/-/oeyufvz/-/index.html"];
   [self.navigationController pushViewController:customWebView animated:NO];
}
-(IBAction)feedProxyPressed:(id)sender
{
   CustomWebView *customWebView = [[CustomWebView alloc] initWithStringURL:@"http://feedproxy.google.com/~r/spaceheadlines/~3/kbL0jv9rbsg/15159-dallas-tornadoes-satellite-image.html"];
   [self.navigationController pushViewController:customWebView animated:NO];
}
-(IBAction)cnnPressed:(id)sender
{
   CustomWebView *customWebView = [[CustomWebView alloc] initWithStringURL:@"http://www.cnn.com/2012/04/04/us/california-shooting/index.html?eref=rss_mostpopular"];
   [self.navigationController pushViewController:customWebView animated:NO];
}
</code>

O CustomWebView é apenas um UIWebView vinculado na propriedade IB to UIWebView

<code>@implementation CustomWebView

@synthesize webView, link;

- (id)initWithStringURL:(NSString *) stringURL
{
   if (self = [super init]) {
       link = stringURL;
   } 
   return self;
}


- (void)viewDidLoad
{
   [super viewDidLoad];
   NSURL *url = [NSURL URLWithString:link];
   NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
   [webView loadRequest:urlRequest];
}

- (void)viewDidUnload
{
   [super viewDidUnload];
}
</code>

Meu problema é que eu configurei a linha de base do heap para ser o ViewController inicial assim que tudo estiver carregado. Eu então verifico o heap depois de carregar uma página e depois retornar ao ViewController e obter os seguintes heapshots:

O que mostra que após cada série de clicar em um botão e retornar ao ViewController, o heap continua a crescer, mesmo que o CustomWebView deva ser liberado.

EDITAR:

O projeto de amostra descrito acima pode ser encontradono github

questionAnswers(6)

yourAnswerToTheQuestion