TCP window size = 16 bits , TCP scale factor size = 14 bits. So, overall the max TCP window size can be 2^30 = 1GB.
For networks where the latency is high like 500 milli-second. 1GB of TCP window size is also not enough to fully utilise the link's bandwidth. For instance, consider a link with 500 milli-second RTT and bandwidth of 40Gbs(ie; 40/8 = 5 Giga-Bytes/Second). BDP = (500 * (10 ^ -3)) * ((40 *10^9)/8) = 2.5 GB.
Hypothetically, we need a TCP window size of 2*2.5 = 5GB (multiplied by 2 because generally the kernal meta-data reqires half the size of TCP buffer) to achieve the line-rate of 40gbs.
So, the max TCP window size of 1GB is still not enough. So, why restrict the TCP window size to 1GB ?
the max TCP window size of 1GB is still not enough
for what? To utilize the full capacity of your network/link?