The page context is split over both the previous and the next request when you are in the INVOKE APPLICATION phase. You read from the previous page context and write (i.e. remove) from the next page context. So the above is totally expected.