Thread-safe lock-free doubly linked list implementation in c#