Yes, Good point !!
Hmmm, I think in this case, this patch works well.

After vp2 = vp1 , vp2 and vp1 is refer to the same VirshPersistent object(dict object.)
So, if vp1.new_session(). vp1 and vp2 are both changed. So, if we del vp1. the VirshPersistent will not be
destroyed since there is another reference of it (vp2).

Does this make sense?

Thanx. :)