You request a page from webserver where dispatcher is configured. You realize that even though the page has been invalidated, the invalidated version is delivered from webserver's cache. You look at your request.log file of your webserver and realize that there are more than one request to the same page almost at the same time.
If you request an invalidated page the first time the dispatcher forwards the request to the CQ to get the new page. This request is pending till the new page is delivered. In the meantime all further requests to this page get the old invalidated page from webserver's cache.
This is because not to load on the instance for the same page. On the other hand serving the page from cache for the second request prevents requests accumulating on the webserver.
This is an expected behavior.