Based on what I can tell about the design of IEncryptionResult, if this object is being passed over the wire (e.g. directly encoding into the QR code) then the confidentiality and integrity guarantees of the ciphertext are removed because an active adversary can intercept, decrypt, and regenerate the payload in an unexpected way.
Rather than directly embedding the symmetrical key within the EncryptionResult the symmetrical key should be generated using something like a key agreement scheme to have the symmetrical key be generated between the sender and recipient of the message.