Thanks for responding so quickly. I refrained from posting Telerik source code in the public forums due to IP restrictions.
As you can see, the last line calls this.ResumeNotifications(); without checking if the user had already requested SuspendNotifications() on the collection.
Can a check be added and the SuspendNotifications/ResumeNotifications not be called if the collection is already in a SuspendNotifications state. My implementation is stores current state in a bool & only calls SuspendNotifications/ResumeNotifications if not true.
// do work here...
This would fix any cross-thread issues and stop fatal exceptions from being thrown.