You told me something was impossible to do without garbage collection and I explained three different ways that I've already done it, then you just keep trying to talk about something that was never up for discussion in the first place. You hallucinated shared_ptr into the conversation from nowhere.
Without talking about smart pointers, what am I missing from the list above? Why do some lock free algorithms need garbage collection?