Я должен был бы взглянуть на ваш код, чтобы убедиться, но я бы предположил, что ваш ComboBox имеет свой SelectedItem или SelectedValue, двусторонне привязанный к свойству.
При использовании StaticResource ссылка на ресурс разрешается во время загрузки XAML. Когда вы используете DynamicResource, ссылка на ресурс разрешается позже. Так что, вероятно, происходит то, что ваш ComboBox запускается без элементов, что приводит к тому, что его SelectedItem и SelectedValue обнуляются. При двусторонней привязке свойство обновляется с этим значением.
Лично я считаю, что неспособность ComboBox изящно справиться с этой ситуацией является ошибкой в дизайне ComboBox, а не ошибкой реализации.
Для своих собственных проектов я часто использую расширение ComboBox и ListBox, которое я создал для решения этой проблемы: у меня есть дополнительные свойства, которые я могу использовать вместо SelectedValue и SelectedItems. Мои новые свойства принимают любое значение, пока не будет установлен ItemsSource, после чего он будет синхронизирован с SelectedValue или SelectedItem.
Вы можете использовать подобную технику или просто всегда проверять, чтобы ItemsSource был связан / инициализирован перед SelectedValue или SelectedItem.
Обновление
Когда элемент управления удаляется из визуального дерева, все происходит в обратном порядке: ItemsSource очищается немедленно из-за изменения в происхождении, затем DataContext очищается. В промежуточный период ComboBox имеет нулевой SelectedItem, который распространяется на связанное свойство.
Улучшенный класс ComboBox или ListBox с дополнительными свойствами SelectedItem и SelectedValue также может решить эту проблему: он должен синхронизировать SelectedItem / SelecteValue с пользовательскими свойствами, когда ItemsSource не равен NULL, и разъединять их, когда ItemsSource равен NULL.