title: Why aren't classes like BindingList or ObservableCollection thread-safe?
body: <p>Time and time again I find myself having to write thread-safe versions of BindingList and ObservableCollection because, when bound to UI, these controls cannot be changed from multiple threads. What I'm trying to understand is <strong>why</strong> this is the case - is it a design fault or is this behavior intentional?</p>