Just to make sure we are on the same page here, loaning and releasing does not correspond to new/delete and memory allocations. It's really just a signal to the middleware to gain and release ownership over a junk of memory (previously) allocated by the middleware.
Can I ask why do you think borrowing and releasing a loaned message is not desired? Off the top of my head I don't see any other possibility to send a message via zero-copy transport without explicitly releasing the pointer back to the middleware. By not doing so, how could one secure the integrity of the message on the subscription side? That is, not modifying the message data after a call to publish.