See P65 [[effective stl]]
Compared to detached copies, RC is more thread-sensitive. Threads access shared memory — the counter and counted object.
Consider RC-free containers like vector as a replacement for a RC string.
Kevin of JPMC pointed out that ref-counting smart ptr needs to guard updates to the ref counter.