In case anyone is interested, I actually tackled the problem of large, basic message data (including images) taking long times to transfer across the interop and causing garbage collection issues by updating the message generation code to block copy array and list data where possible. I also used reflection to access the array backed lists in order to minimise garbage collection.
These features are currently on the dev branch of my fork and will be added to a PR when my existing one has been merged.
In case anyone is interested, I actually tackled the problem of large, basic message data (including images) taking long times to transfer across the interop and causing garbage collection issues by updating the message generation code to block copy array and list data where possible. I also used reflection to access the array backed lists in order to minimise garbage collection.
These features are currently on the dev branch of my fork and will be added to a PR when my existing one has been merged.