but this whole thread started with deadlock on remote calls, and i was curious about how that could be with async calls.
I think you can check message_queue_len using erlang:process_info/2 to find the mailbox size and simply back off, or fail noisly.