Very true. That, or other reasons of program-induced stalls (e.g. not provided buffers early enough, or with wrong usage flags, state changes, or a dozen other reasons).
the most common reason for gpu stalling is readbacks to the CPU side.
Texture reads are normally not a reason for EUs going idle, except in very extreme worst-case scenarios. GPUs usually fire off ten thousands of threads even though they only have a few dozen (or maybe a few hundred) execution units. When a thread stalls on a memory access (such as a texture fetch), its place on the execution unit is immediately taken by another thread that is ready to run.
I don't know the details of Intel cards, but on nVidia and ATI, this swapping in and out of threads is something that the hardware does automatically on its own without you or the driver or anyone else knowing.