I don't think line 97:
open ( my $infile, "/www/cgi-bin/udr/data/$market.$form.csv" ) or die
+"$market.$form.csv: $!";
is your problem because that line is only opening a file and creating a filehandle. No actual data from the file has been read at that point.
I don't see anything instantly wrong with your code that would cause the memory problems you describe. dragonchild does raise a good point regarding your usage of Tie::File as perhaps being overkill for what you're doing. Try performing the header code yourself and see if that improves memory usage. You'd at least know if you'd been bitten by the tie memory leakage problem dragonchild describes.