There is no reason why you can't use LinkedList with your own class that holds the Socket and whatever additional item(s) you want.
I think you are misinterpreting that there are "no pointers" in C# to also mean there are no references, which isn't the case. What that means, in essence, is you can't easily do funky pointer math and you shouldn't count on being able to know how your data types are laid out on the low level. You may wish to read
this.