Saber dónde están los ciclos de retención y eliminarlos

Me preguntaba si había una manera fácil (o al menos una forma) de averiguar dónde existen ciclos de retención en su programa. Además, si sé dónde existen estos ciclos de retención, dependiendo de sus tipos (por ejemplo, variable o cierre), ¿cómo los debilito? Necesito detener todos los ciclos de retención con self (mi GameScene) para que se desactive cuando ya no lo necesite y quiera reiniciarlo.

Cualquier sugerencia, consejo, respuesta y comentarios serían muy apreciados (y se preferiría proporcionar códigos y ejemplos específicos). Gracias.

Editar: La respuesta de @ Sweeper fue justo lo que estaba buscando. Si tienes el mismo problema, su respuesta te ayudará. ¡Gracias @Sweeper!

Respuestas a la pregunta(1)

Su respuesta a la pregunta