@srisa Please confirm my understanding it looks like only application B is sending a message to the service bus and application A will be consuming that processed message once your business logic is completed.
REST Call --> Application A (adds unique correlation id and calls B) --> Application B (forwards the same unique correlation id) --> B application (send message to service bus) --> Application A consumes only that message
If my understanding is correct then when your Application B is sending the message to the service bus you can send your unique correlation id as the message ID of message while sending the message to the service bus. Now when your Application A receives the REST call you already have the unique correlation id and now you will be waiting for other systems to process the request.
Updated:
Once you have forwarded the request to system B now your application A needs to wait (do-while) to check the message with that sequence number using Receive async method. At system B while sending the message set the message ID as a unique correlation id and message state as deferral
along with that there will be overhead you to maintain the sequence number with the message ID. The better option would be using sessions for an individual request for your scenario.
To learn more about message defer please refer to this document.