Attachment data stored in ManagedMemoryDataSource is deleted (or at least marked deleted), as soon as message has been serialized. While in most cases you will not want to access the data after you have sent out the message, why force a delete possibly too early? In case where a service is trying to send an attachment it received to 2 other services, this would be a problem.
Instead Attachments.delete() method could be exposed that could be triggered by user, or by VM's garbage collector through finalize(). Any thoughts?