"Weak references" in VB6 means uncounted references / pointers. Circular references can cause memory leaks if using ordinary reference variables. This class, cls_WeakRef, gives you an easy way to employ uncounted references. The technique comes from Bruce McKinney's book Hardcore Visual Basic; I've just wrapped it in a class for ease of use.