Вам понадобится уведомить B о ссылке, возможно, просто установив свойство B.From.
Однако вам нужно подумать о том, что, если более чем один объект получает ссылку на B:
IGraphNode A = new GraphNode();
IGraphNode B = new GraphNode();
IGraphNode C = new GraphNode();
A.To = B;
C.To = B;
// what should B.From return?
Кроме того, подумайте о том, что произойдет, если один из объектов, на которые есть ссылки, не имеет других ссылок? Например:
IGraphNode A = new GraphNode();
IGraphNode B = new GraphNode();
A.To = B;
A = null; // should the reference from B keep the object
// that A used to reference alive?
Объект WeakReference вместо прямой ссылки может помочь в решении этой конкретной проблемы.