Вот пример кода:
function UI(){
    
}
  
function SystemObject(){
  this.UI.parent = this;
}
SystemObject.prototype.UI = new UI();
var sysObject = new SystemObject;
Получается:
sysObject.UI.parent.UI.parent.UI.parent.UI.parent...
Не приведёт ли это к утечке памяти или к большому её засиранию?
Достаточно ли удалить переменную, чтобы все ссылки убил сборщик мусора?
И как можно подстраховаться, чтобы такого не происходило?