Lock-free doubly linked list implementation in c#