Hi @pankaj,
this behavior is similar to the output mapping of call activities. It is implemented is this way because the error may be caught by a boundary event or event subprocess which requires the variables from the output mapping.
Best regards,
Philipp