1000 first rows are available in less than zone second. See query with limit 1000.
We cannot add arbitrary limit/offsets to users queries. They will affect timing for those who are trying to tune queries, and may well affect other behaviours. Not to mention the fact that the user might be running a complex script that we would have to parse client-side to try to figure out where to add the limit/offset (and likely get it wrong).
Monitoring memory usage or PG_stat_activity shows that all the data is fetched.
Sure - pg_stat_activity (it's all lower case) will show the connection state as idle. But the point is - until it does, the query is still being processed and we don't get the data.