This thesis presents an examination of design patterns within the context of garbage collection. Initially, I review garbage collection and design patterns. Four garbage collectors are then examined and the design patterns found described. Both domain specific and generic patterns are described. The domain specific patterns are TriColour and RootSet, the generic patterns are Adaptor, Facade, Iterator and Proxy. It is hoped that by, applying these patterns, systems designers have access to a less efficient, but simpler and more flexible way of implementing and reusing garbage collectors in programming languages. The requirements analysis for a garbage collector for a real-time object-oriented micro-kernel is then performed, and a design pr...