If the backing bean is in request scope you do not have this problem since the values do not persist after the request has ended.
So your problem exists because your backing bean is in session or application scope (or some other "long living" scope). And when you put values to a bean that is in a long living scope you have to delete those values yourself if you no longer need them! That is the price you have to pay for using a long living scope. But you have chosen to use a long living scope so I trust that you have a reason for it?
And this is not a
JSF specific thing. If you for example put values to session scope in a normal
Servlet environment then you have to delete those values yourself later on (or wait until the session expires).