Maybe this is related to the leak described in
(XML::Parser) Finding and fixing a bug? Although I'm rather puzzled by the disparity between a 250KB input size and a 1.9GB process size. Something has to have gone seriously awry there..
Makeshifts last the longest.