Slate button causes the editor to hang when instantiated

Absolutely. On a high conceptual level, they’re the same.

In practice, the latter is a raw C++ reference to a SDockTab, which guarantees nothing about the lifetime of the SDockTab being referenced. The former is a smart reference, an object which conceptually acts like a reference to a SDockTab, but ensures that the SDockTab will continue to exist at least as long as the reference itself does.