<p>What's the best way to asynchronously load an BitmapImage in C# using WPF?  </p>

Assuming you're using data binding, setting
Binding.IsAsync
property to True seems to be a standard way to achieve this.
If you're loading the bitmap in the code-behind file using background thread + Dispatcher object is a common way to update UI asynchronous