Although fatigue is definitely a component, I've experienced this phenomenon after any task that requires intense concentration and does not involve communication with another person. It's intensified if the task is repetitious or taxes short-term memory, such as remembering intermediate results while following several paths of logic. Non-programming examples include solving math problems; comparing intricate, competing strategies; and organizing a year's worth of paper receipts by date, account, and category.
My guess is that these tasks encourage "internal" communication, which doesn't necessarily require to you express your thoughts as words, and certainly not in organized sentences. It's more efficient for your brain to take "shortcuts" that wouldn't be possible if you had to describe your thoughts to another person in a logical, orderly fashion. And as you become engrossed in the task you become focused exclusively on it, losing awareness of time, environmental and physical conditions, and the "chatter" that normally occurs in your head when you're aware of your "self." I imagine something similar happens to athletes when they hit their "stride," though I'm woefully at a loss to know from experience. :-)
For me this is a very comfortable state, as I enjoy focusing on a problem and navigating to the solution. If I'm forced back to "reality" without a few minutes of transition, it's like waking from a vivid dream, and I don't communicate at my best until the normal, social, thought processes resume.
This also happens, though to a far lesser degree, when my wife and I explain things to each other: we each tend to assume a lot of background and understanding on the other's part, and we therefore omit a lot of details and "incidentals" that we'd include if we were talking to anyone else. When we're "in tune" with each other it's easy, efficient, and creates tremendous synergy; when we assume too much understanding it can be terribly frustrating and leave each of us wondering how the other could possibly be so dense. :-)