I have found that dancer's memory consumption is indeterminant.
I believe I have found the source of my problem here - https://github.com/sukria/Dancer/blob/devel/lib/Dancer/Request.pm#L381
_build_params copies all first-level keys of huge POSTed hashes into params (there must be some more places where data is copied as memory consumption is more than 2x). Being newbie dancer I am not sure about further investigation.
Is it a valid behavior? I think that only application/x-www-form-urlencoded should be copied or this behavior should be switchable perhaps.
Any ideas on how to live with that?