I've been doing a lot of thinking about memory management and proton bindings in 4 languages (C, Go, python and C++) and I have Seen The Light. Here is a write-up, I'd appreciate feedback in the form of email, reviewboard diffs, regular diffs, or just commit improvements if you're a commiter. I will add this to the official proton API doc after incorporating feedback:
https://github.com/apache/qpid-proton/blob/master/docs/markdown/memory_ management.md