Problem Statement
What is a retain cycle (also called strong reference cycle) in Swift and why is it problematic?
Explanation
A retain cycle happens when object A holds a strong reference to object B, and object B holds a strong reference to object A (directly or indirectly). Since neither reference count drops to zero, the objects are never deallocated, causing a memory leak. Identifying and breaking such cycles is important for efficient Swift apps.