I think the main reason is what you stated in point #1
instance method or extension method
Simply, because they want to enable the user to make an object Awaitable by defining an extension method for it, hence, you can make an object Awaitable even if you don't own it.
Checkout this article