Virtualization resets variable values?

I am doing tests on virtualization behavior and noticed any time a voice is virtualized then becomes active again, all variables are reset no matter if the virtualization setting is Restart or Play when Silent.

Off OnPlay trigger I have a trigger repeat and then a counter going into a print log. OnPlay will always get retirggered once the voice becomes active again both for Restart and Play when Silent. I would expect if virtualization is set to Play when Silent, the variable values would be retained (or continue to count up in this case).

Is this intended behavior?