This example shows two Swift classes, Person and Apartment, where Person has a strong reference to Apartment, and Apartment has a weak reference to Person. The flow starts by creating instances of both classes. Person's apartment property is set to the Apartment instance with a strong reference. Apartment's tenant property is set to the Person instance with a weak reference. This setup prevents a strong reference cycle. When both variables are set to nil, the weak reference allows ARC to deallocate both objects, confirmed by their deinit print statements. The execution table traces each step, showing how references change and when deinitialization occurs. Key moments clarify why weak references are needed to avoid memory leaks caused by cycles. The visual quiz tests understanding of reference types and deallocation timing. The snapshot summarizes the concept for quick recall.