When handling a PointerCanceled event, anticipate that some of the event data normally available for a pointer event won't be meaningful in the PointerRoutedEventArgs object you get through your handler.
The Position of the pointer is invalid because the pointer no longer exists.