То, что предлагает Скотт Вайнштейн, верно.
Кроме того, поскольку вы хотите повлиять на элемент управления Gui, вы должны обязательно либо ObserveOn the Dispatcher, либо использовать планировщик где-нибудь перед подпиской, чтобы вернуть вас в поток диспетчера.* Это сработало для меня:
Observable.FromEvent<TextChangedEventArgs>(TextBox, "TextChanged")
.Throttle(TimeSpan.FromSeconds(0.75), Scheduler.Dispatcher)
.Select(obs => TextBox.Text)
.Subscribe(TextChangedTo);
Теперь в методе TextChangedTo(text)
вы должны заполнить свой список именами контактов.