When I select a value from a drop down using multi select, it automatically reruns the page and removes the selection
Rerunning the app is expected behavior. Removing the selection is not, if you are seeing that it is probably due to a bug in your code.
So coming from a data frame based on an initial selection, it returns a list for the secondary selection. There are 4 selections on initial list and on the other 3 everything works perfectly but for the 4th one once you chose a selection from the resulting list it reruns and loses the selection only of the second drop down. Is that a cache issue?
I cannot say I fully understand your description, but I do not see anything that hints to a cache issue. As I said, there is probably something wrong in your code.