While writing my XPe talk, I ran into an interesting problem using WPF... I have a Bluetooth OBEX listener that sits and listens for objects, once this object is received, it gets saved to disk and the URI gets placed into a ObservableCollection<> and then gets data bound to a list box. The natural assumption is that the list box would be updated automatically once a new file is received, but it doesn't!! The problem is that WPF is a STA application and no other thread except the UI thread...