It looks like Silverlight 5's ComboBox is more restrictive. In Silverlight 4 I could change the ItemsSource of a ComboBox that had a SelectedItem != null, while in Silverlight 5 I have to set SelectedItem to null before I assign a new ItemsSource. Why even mention this? Isn't this obvious?
Well, the Silverlight 4 ComboBox simply ignored the SelectedItem and did not complain about the new ItemsSource, so moving to Silverlight 5 may cause some (unexpected) pain. But the real reason for this post is the exception that is thrown: InvalidOperationException ("Cannot call StartAt when content generation is in progress.")
Saying this (Cannot call StartAt when content generation is in progress) is not very helpful, is it? Moreover, this exception is not thrown at a place that refers to the cause of the problem (the assignment to a ComboBox's ItemsSource):
System.Windows.Controls.ItemContainerGenerator.System.Windows.Controls.Primitives.IItemContainerGenerator.StartAt
At that point the whole stack trace is grayed out. (It does hint toward the ComboBox' SetContentPresenter, though.)
So if you got confused, searched for the error message, and ended up here, you may want to check your ComboBoxes' ItemsSource assignments.