function UI(){
}
function SystemObject(){
this.UI.parent = this;
}
SystemObject.prototype.UI = new UI();
var sysObject = new SystemObject;
Насколько я знаю при таком способе UI.parent хранит ссылку на родителя а не весь обьект. и как бы ты не извращался никакого захламления не будет. Ты же не callbackи делаешь когда меняешь звено цепочки. Это тоже самое что ты обращаешься в this в кажом методе.