There appears to be an issue, when EnableVirtualization is set to TRUE and a grid is bound to an ObservableCollection, where the number of rows displayed decreases each time the collection is repopulated with the same data.
In the attached example, click REFRESH and each time you will see the number of rows decrease, even though the data is the same each time.
How can I show all rows when the ObservableCollection is repopulated with data?