Change from tracking attachments by generating keys using string concatenation to an indexed array of Dictionary objects.  This avoids a string allocation with every call to getAttachment, which at high volume over time can cause a lot of garbage collection overhead.  (Found this problem using Scout on our mobile builds)