I've made a further discovery which may help: I've implemented the return listener on the RPC backend which returns a BasicReturn method (312,unroutable). I've now just got to investigate where this comes from.