The [core of OS X](http://www.osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html) is not garbage collected; IOKit's [libkern C++ Runtime](https://developer.apple.com/library/mac/documentation/DeviceDrivers/Conceptual/WritingDeviceDriver/CPluPlusRuntime/CPlusPlusRuntime.html#//apple_ref/doc/uid/TP30000695-BAJIBFDE) requires developers to manage their own memory. ## Mac Memory Management From [How does memory management work in Mac OS X?](http://apple.stackexchange.com/a/72036/1860) > Apple documents the lowest levels of the [Mach Kernel][1] and the virtual memory subsystem fairly well on the web as part of it's developer documentation. > >* [Kernel Programming Guide: Memory and Virtual Memory](https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/vm/vm.html#//apple_ref/doc/uid/TP30000905-CH210-BEHJDFCA) > >Since that kernel was [developed by Carnegie Mellon University][2], you can find dozens of [papers][3] describing it quite easily. Wikipedia also discusses [Mac OS memory management](https://en.wikipedia.org/wiki/Mac_OS_memory_management). # Garbage Collection Garbage collection exists at the user or application layer. Even at this layer, garbage collection only helps if the application has released all claims to the memory. A circular dependancy can defeat garbage collection. Garbage collection itself is an evolving area of research and [difficult to get right](http://xkcd.com/1425/). ## Report Bugs and Memory Leaks Bugs within OS X will be leaking memory. Given the size of the code base, this is almost certain. Please [report reproducible bugs directly to Apple](https://bugreport.apple.com/). Every bug report helps and maybe your example will be the one that helps Apple's engineers pin down the cause. [1]: http://en.wikipedia.org/wiki/Mach_%28kernel%29 [2]: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html [3]: http://cseweb.ucsd.edu/classes/wi11/cse221/papers/accetta86.pdf