

Traditionally sequence diagrams have had two jobs. Really you have two different flows of control marching through A at that point. If you have a call back to A it makes more sense to have a 'return' arrow. In those cases the safest depiction is no return arrow at all.

Most likely you don't even know which will happen. Your "or here" line tells me that when B terminates you expect A to have already terminated. Your "response here" line tells me that when B terminates you expect A to still be processing and, because you put it right at the end, to terminate when it see's B respond.

Async doesn't really fit in this diagram because being async means you have your own damn y axis. In this metaphor a slant would be lag not asynchronicity. One thing you'll notice is that almost no one puts a slant on the arrows. I can prove this with a google image search. I'm not going to tell you how because every dang shop has their own way of doing them.
