Здесь:
shotPageURL = [shotDribbblePage retain];
вы, вероятно, должны использовать аксессор:
self.shotPageURL = shotDribbblePage;
Я должен действительно подчеркнуть, что вы должны использовать ваши аксессоры везде, так как они подсчитывают ваши рефери за вас (исключение: не в инициализаторах и в dealloc). Как отмечает Бериллий, вы можете подсчитать рефери вручную, если аксессора нет. Это принимает базовую форму:
[shotPageURL release];
shotPageURL = [shotDribbblePage retain];
Если происходит утечка содержимого возвращаемого словаря, то как вы использовали / ссылались на содержимое при чтении (чрезмерное сохранение).
Если вы используете свой класс в параллельном контексте, тогда вам обычно потребуется блокировка.
Если вы загружаете UIImage
или иным образом взаимодействуете с объектами UIKit из вторичного потока - это нехорошо.