It seems that CGI 3.15, which you have, does not have the use_tempfile parameter. The parameter you provide in your call to CGI::new() gets passed on to the 'normal' CGI initialisation (i.e. the code that builds the query contents), probably leading to all kinds of funny stuff behind the scenes.
Try upgrading to CGI version 3.25, which does support the use_tempfile parameter. I have not checked whether it actually does anything yet, but at least you can set it in 3.25, as opposed to 3.15.
Hope this helps you.