Вы могли бы значительно упростить этот код, заставив captureCurrentFrameImage
возвращать NSBitmapImageRep вместо NSImage, так как вы фактически никогда не используете NSImage для чего-либо здесь.Вы можете обернуть изображение представителя в изображение, когда это необходимо, и для этого кода просто используйте изображение представителя само по себе для получения данных PNG.Помимо всего прочего, это избавит вас от необходимости проходить через представление TIFF.
Если после внесения этих изменений все равно возникает утечка, запустите приложение под шаблоном «Утечки инструмента»;Два инструмента в этом шаблоне, Leaks и ObjectAlloc, помогут вам выследить любые утечки.