shared_ptr関係ない
デストラクタの中でメンバ変数のデストラクタ呼び出し
->そのメンバ変数のデストラクタ呼び出しの中でメンバ変数のメンバ変数のデストラクタ呼び出し->・・・
で関数呼び出しのネストが深くなりすぎてスタック食いつぶしてるだけだから