Currently I am using an ObservableCollection within a WPF application, the application is an implementation of Conway\'s Game of life and works well for about 500 cells but
I've posted a complete ObservableHashSet here that you can use.
https://github.com/BellaCode/Public/tree/master/ObservableHashSet
It is based of reflecting on how ObservableCollection is implemented and provides the same thread-safety re-entrancy checks.