ComboBoxItem is a FrameworkElement which cannot belong to multiple parents.
When you use string collection, each ComboBox generate a new ComboBoxItem for the same string. When collection contains ComboBoxItems, comboBoxes don’t create other ComboBoxItems and reuse existing, stealing them from each other.
Additionally when you follow MVVM approach, you should not have ComboBoxItem objects in a view model which provides binding source.
So string collection is a correct solution.
solved Two combobox with same ItemsSource of ObservableCollection