This is a separated process on purpose - updating the layout status is the thin edge of the wedge for what happens here - it is actually building the layout.
Building the layout is an intensive process and if we did that after any change, the system would get tied up in knots with increased load (and concurrency problems).
Instead there are 3 things that build layouts:
- The layout designer, at regular intervals
- The regular maintenance task
- The XMDS service, on request
If your layouts are remaining at the cog for long periods of time, then perhaps your maintenance routes are not firing as expected?