原因がわかったのでコメントしとくわ

プレハブが持つ同一プレハブ内への参照はInstantiate時に相対位置で参照を修正される
これはプレハブ内での参照関係を壊さないために必要な仕様だからそうなるのは仕方ない

つまり今回の場合はプレハブ内のプレハブ自身への参照が、Instantiate時に複製されたオブジェクト自身への参照に置き換えられてしまい、その後のInstantiateに影響してる訳だ

var clone=Instantiate(this.prefab);
clone.prefab=this.prefab;

とかやれば解決。以上お疲れ様