Вы создаете webAdressViewController для каждого URL, но вы не держите эти контроллеры представления, чтобы впоследствии их можно было освободить. Если вы хотите закодировать его таким образом, вам также нужно сохранить массив webAdressViewControllers как свойство в любом объекте, к которому принадлежит этот код, - и затем освободить их в своем методе dealloc.
Но мне интересно, почему вы вообще создаете контроллеры webAdressViewControllers? Есть ли у вас код в классе webAdressViewController, кроме того, который создает представление? (Если вы говорите об освобождении контроллеров на этом этапе, я подозреваю, что нет.) Если вам позже не нужны контроллеры, почему бы не создать представления непосредственно на этом этапе, а затем добавить их как подпредставления и освободить их? Это избавит вас от необходимости держать вокруг себя контроллеры представления, которые вам не нужны.
Вам также нужно сохранить контроллер представления с вкладками в качестве свойства и освободить его в dealloc.
parentViewController имеет счетчик сохранения два - один раз для alloc init и два раза для добавления в массив. Если вам не нужно снова напрямую обращаться к этому контроллеру (т. Е. Если контроллер с вкладками выполняет все необходимые функции управления просмотром), то вы должны отменить его один раз.