l'attribution de référence est atomique alors pourquoi Interlocked.Exchange (ref Object, Object) est-il nécessaire?

Dans mon service Web asmx multithread, j'avais un champ de classe _allData de mon propre type SystemData qui se compose de quelques List<T>- uns et Dictionary<T>marqué comme volatile. Les données système ( _allData) sont actualisées de temps en temps et je le fais en créant un autre...