Всё, дошло. В примере нет ни одной операции delete для объектов, размещённых на куче. Именно использование shared_ptr позволяет писать код без вызова деструкторов или операторов delete.
Если бы я написал this, то возникла бы утечка памяти -- оператором new выделилось место на "куче", но никто не вызывает соответствующий оператор delete.