I can't see anything that would cause this code to continuously consume memory. The new table payload of UNIT_ARUA will cause a temporary increase until it is garbage collected.
Code:
stance:RegisterEvent("UNIT_AURA", "player")
won't register the event just for the "player" unit. For that you would need:
Code:
stance:RegisterUnitEvent("UNIT_AURA", "player")