When ever user process requires memory which is not available it uses temp segment. For example if you use order by, group by,sum, min, max etc additional processing requires on the result set returned.

You can not do much to solve this issue. how ever you may check the code and ask the developer if they need this much data to be processed.

BTW how much is your sort_area_size and sort_area_retained_size and is Autoextend ON?