Described algorithms ignore the ABA problem.
I literally wrote a method for doing that, an index with a version that can be checked to make sure nothing changed.
Also if you're going to say that heavily tested implementations ignore the ABA problem you need to explain why you think that or why you think they won't work and again, why garbage collection changes anything.
stores pointers on 48 bits which is not enough on new architectures.
48 bits is the size of the memory controller on modern CPUs and exceeding that would need over 281 terabytes of memory.
Again, the original question is what lock free algorithm can be done with garbage collection that can't be done without it?