The Status property of the DispatcherOperation is also set to Aborted when called on a Dispatcher that has not finished starting up yet. The operation is neither queued up nor executed in this case, but simply discarded.
This can happen in race conditions when a BeginInvoke call is made very soon after a valid Dispatcher object has been obtained, but before its Dispatcher.Run loop is up and running in the target thread. Unfortunately, Dispatcher provides no flag to check for this condition, so if your code is affected by this race condition, you must wrap your first BeginInvoke call in a do...while loop that repeats while the returned Status is Aborted.