SHA-256 is not a permutation; the expected cycle length is ~2^128. It's how collisions are (generically) found.
In reality you use some variant of Rho which does not store every previous value but uses something like Floyd's cycle detection or distinguished points and requires minimal storage, at the cost of some extra hash computations but still on the order of 2^128.