What patterns are useful when writing a GC'd program? I've mentioned a few recently, but I'm sure that a ton more exist. I'll start off with a few I know about. Virtualize and share scarce resources. Explicitly invoke collector when a scarce resource appears unavailable. Split local from global finalization. Copy on write to reduce memory consumption. What else? g