This answer helped me with this exact problem. The static CollectionViewSource.GetDefaultView(coll)
method will always return the same reference for a given collection, so basing multiple collection views on the same reference will be counterproductive. By instantiating the view as follows:
ICollectionView filteredView = new CollectionViewSource { Source=messageList }.View;
The view can now be filtered/sorted/grouped independently of any others. Then you can apply your filtering.