https://en.cppreference.com/w/cpp/thread/mutex/~mutex
Usuwanie mutexów które mogą być zablokowane jest błędem i wszystko może się po tym wydarzyć. Rozumiem koncepcje, że chcesz mieć listę na której w jednym momencie można w różnych miejscach wykonywać operacje. O ile odczyt i modyfikacja wartości nie powinna być problemem, to usuwanie węzłów już chyba jest. Na pewno po odłączeniu węzła nie można od razu go usuwać. Kolejna rzecz jest, że zawsze po zrobieniu locka trzeba by jeszcze sprawdzać czy node nie został już usunięty, jeżeli tak to np. można odwołać się do listy i wykonać operację ponownie, lub być można właśnie o wartość z tego noda nam chodziło i wszystko będzie git? Jest tu dużo różnych aspektów które trzeba wziąć pod uwagę i łatwo się pomylić.