Yeah, it's likely that "never" expiry.
So in the raw data feed, the base dimensions (like prop1, evar1, mvvar1, etc) represent the instance - basically when the value is actually set. The post_ dimensions represent the processed data, which includes post processing rules, vista rules, and yes the values that are retained due to the expiry.
So let's say you have a visit level expiry. On Page A, the value of an evar or list is set, then a different value is set on Page C
Page A > Page B > Page C
Page A:
- evar is set (will be sent in data feed as the base value)
- post_evar is also set (will be sent in data feed as the post_value)
Page B:
- evar is not set (it will be empty in the data feed)
- post_evar retains the value set on Page A (will be sent in data feed as the post_value)
Page C
- A new value is set in the evar (will be sent in data feed as the base value)
- post_evar is also set with the new value (will be sent in data feed as the post_value)
So I don't know if switching the expiry now will allow the previous values to clear, but it's worth a shot.
In your new list var usage, if it's being set all the time, it should overwrite those old values naturally... but if the list isn't always being set (and changing the expiry doesn't fix the issue before you start using this); depending on the old values; you may need to create a classification to help remove the old values until such time as the new value has applied to all your users....