С точки зрения памяти, похоже, что любой экземпляр вашего класса должен будет рекурсивно фильтровать все, чтобы выяснить, каковы отношения. Это обременительно.
Я бы рекомендовал просто дать вашему классу свойство, подобное этому (или что-то более сложное, в зависимости от того, что вы хотите достичь):
public Nested parent;
Это превратило бы его в связанный список. Вы можете отдельно создать метод вне класса, который сможет найти родителей на основе ограниченного набора параметров (например, FindParentsOfNestedToCertainGeneration (int numOfGenerations, Nested child) - это просто перейдет к child и пойдет по цепочке родителей в " родительская собственность).