Multiple entries in the ACT_GE_BYTEARRAY for a single variable of type blob for the same process instance

We are implementing history cleanup and while doing the verification of removal time for ACT_GE_BYTEARRAY table, we noticed that there are multiple entries for the same variable for the same process instance in this table. We also further noticed that if we set the variable(containing xml payload) in the beginning of the process, then the number of times it is appearing in ACT_GE_BYTEARRAY table for a given process instance is same as the number of activitiesthis variable is flowing through.

Now if this is the behavior, then it this table will grow huge in size if we have complex bpmn model and the variable(containing xml payload) is set in the execution variable from the beginning.

Could you please confirm if the above understanding is correct ? If yes, then how can we handle the same.