One of the simple "reasons" is to keep context clean; if you're doing planning, you're not loading source code, its just the plan. Also, it may happen that if you're running parallel manual sessions, cache expires after 1h, so a prompt on an idle session will re-trigger re-evaluating the whole context (something quite heavy on a 1M context window). This burns a lot of credit.