I am not familiar at all with using WPF and the application that I am working on had a `ListCollectionView.Refresh()` every time one of the objects in the ListCollection View Model would change which made the application extremely inefficient (`ListCollectionView` is binded to List Collection View Model). After removing the `Refresh()` the application runs a lot smoother and still updates when changes occur in ListCollection View Model. After looking around it seems that any time there is a filter or re-sort on the `CollectionView` there is an implicit call to `Refresh()`. So when is it necessary to `Refresh()` and recreate the `CollectionView`?