Hi Rory,
Yes, you can modify the collection, but there are no WPF controls that modify the collection for you and that's the point here. For example, a ListBox would never remove an item from your collection. When you bind a collection to a ListBox's ItemsSource, your items will appear in the Items collection. But you can no longer add/remove items from the Items collection using the Add/Remove methods. So effectively, by using ItemsSource you are telling the WPF control that only your code can add or remove items. In the case of Ribbon, we need to be adding to and removing from that source collection.
This could probably be solved using one or more events that would need to be added for us to notify you when a QAT item is being added/removed, but would still require you to manually update the bound collection on our behalf, and there would be other subsequent issues to solve.