Reference: https://github.com/rabbitmq/rabbitmq-dotnet-client/pull/1445 In that PR, `BasicPublishAsync` is modified to conditionally copy data from the client application. @paulomorgado then followed up with [this comment](https://github.com/rabbitmq/rabbitmq-dotnet-client/pull/1445#issuecomment-1858120431). Someone should take a look at libraries like these to see what is done in this scenario: * https://docs.confluent.io/kafka-clients/dotnet/current/overview.html * https://redis.io/docs/connect/clients/dotnet/