I have found the culprit.
it is BitmapData.copyPixels();
I am using BitmapData.draw() now.
I am getting a more respectable 250Mb constant memory useage, as I would expect.
I can only assume that copyPixels is caching the data with the expectation that it may be required and is obviously referencing where the data is being used, so only when the BlitMask is destroyed am I getting the memory back.
I expect copyPixels is more appropriate where the graphics are going to be repeatedly re-used. I used this method because the adobe docs suggested it would be faster.
Your help is much appreciated in eliminating the possibilities.
Have a look here for an excellent tutorial on how BitmapData.draw() works:
http://www.tomauger.com/2013/flash-actionscript/actionscript-3-bitmapdata-draw-offset-and-positioning