your paint ‘line’ could be an array of coordinates and every frame you could redraw this with vectors, but I would personally try davebollingers method which should work - detailed more below.
display.capture is your new friend.
I would make it so every time you put down and lift your brush (finger) all paint data (images for that session) have been placed inside a separate display group for that session.
Straight after every new paint session - If any historic session is more than 10 lines old (or whatever threshold you want to preserve history), then put it into a special display group you use for capturing. This special group would contain any old captures (if one exists) and the new groups (sessions) you put on top. Capture this group and remove everything no longer needed (i.e all the stuff that makes up this one new image capture). This should greatly reduce the memory use of these paint lines, after all it will only ever be one full screen image and the most recent paint line images that are loaded.
Hope that makes sense, this method worked perfect for me for a flash application. The only limitation is that the ‘capture’ is constrained to what is displayable on the device screen at the time. You could do some fancy moving things about and capturing things in pieces if you wanted to scroll up/down left/right - but that is a bit more in depth for now.