Вот что я знаю об умных указателях shared_ptr - это умный указатель, так что несколько shared_ptr...
Я обнаружил, что нельзя вызывать shared_from_this в деструкторе из класса: https://svn.boost