You're experiencing a deadlock.
Why do you use .Wait() on that method call ?
You should make your calling method async and await the Task.
private async void OnVendorPropertyChanged(PropertyChangedMessage<Vendor> vendor)
{
Debug.WriteLine("Enter OnVendorPropertyChanged");
//application hangs when vendor is changed
await LoadDriversAsync(Vendor.DCP);
Debug.WriteLine("Leave OnVendorPropertyChanged");
}