#1165 (comment)
I think the only solution really is to remove the Drop implementation and require users to explicitly .detach() (this method was recently introduced) or return the Promise, and only the returned promise will be executed (we abused serde / borsh serialization for that: https://github.com/near/near-sdk-rs/blob/master/near-sdk/src/promise.rs#L835-L859)