Does it? It's like using shared_pointer, which some C++ codebases do everywhere for memory safety.
And some languages like Swift even do it by default.