Если вы не используете ARC, тогда утечки памяти легко вызвать. Если вы выделяете/инициализируете объект, а затем не выпускаете его или не сохраняете больше, чем релизы, а затем забываете об этом, тогда объект просачивается.
ARC не управляет памятью памяти, которая выделяется с помощью malloc/calloc. Это полностью зависит от вас. Если вы malloc блок памяти, вы должны освободить его, когда вы сделали с ним, или он просочился.
ARC также не управляет памятью Core Foundation Objects, если только вы не используете правильные мосты для ручного управления этими объектами в Cocoa. Поэтому, если вы CFCreate объект Core Foundation, а затем не CFRelease, вы также просто пропустили память.
Вы первоначально помеченный этот вопрос как с Objective-C и Swift теги. Существуют категории проблем, которые поражают Objective-C код, который редко или вообще не существует в Swift. Существуют и другие проблемы, общие для обоих. Будучи немного более конкретным языком и/или типами операций, которые вы выполняете, мы можем быть более конкретными в нашем совете. – Rob