iperf3 + retries Are Shown in iperf3 Output is diff when setting window size

I want to share the following issues.

In iperf3, the default TCP window size is automatically managed by the operating system unless you explicitly specify a window size using the -w flag.

I want to share the following cases. The first case is when we do not set the window size, but for some unclear reason, retransmissions of packets (or Retr) are high, which may indicate packet loss.

Case A

iperf3 -c 34.32.23.4 -t 30
Connecting to host 34.32.23.4, port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[ 4]   0.00-1.00   sec   165 MBytes  1.38 Gbits/sec   2455    294 KBytes
[ 4]   1.00-2.00   sec   109 MBytes   912 Mbits/sec    4250    352 KBytes
[ 4]   2.00-3.00   sec  81.2 MBytes   682 Mbits/sec    3605    352 KBytes
[ 4]   3.00-4.00   sec   111 MBytes   933 Mbits/sec    3465    308 KBytes
[ 4]   4.00-5.00   sec   111 MBytes   933 Mbits/sec    4431    386 KBytes
[ 4]   5.00-6.00   sec  81.2 MBytes   682 Mbits/sec    2370    392 KBytes
[ 4]   6.00-7.00   sec  90.0 MBytes   755 Mbits/sec  1096    207 KBytes
[ 4]   7.00-8.00   sec  92.5 MBytes   776 Mbits/sec   5132    331 KBytes
[ 4]   8.00-9.00   sec  80.0 MBytes   671 Mbits/sec    5520    379 KBytes
.
.
.
[ ID] Interval           Transfer     Bandwidth       Retr
[ 4]   0.00-30.00  sec  2.81 GBytes   803 Mbits/sec  23309             sender
[ 4]   0.00-30.00  sec  2.72 GBytes   780 Mbits/sec                  receiver

Case B

But if I set the window size as follows:

iperf3 -c 34.32.23.4 -t 30 -w 1M

[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[ 4]   0.00-1.00   sec   113 MBytes   951 Mbits/sec   0    291 KBytes
[ 4]   1.00-2.00   sec   111 MBytes   927 Mbits/sec    0    382 KBytes
[ 4]   2.00-3.00   sec   110 MBytes   926 Mbits/sec    0    461 KBytes
[ 4]   3.00-4.00   sec   111 MBytes   935 Mbits/sec    0    508 KBytes
[ 4]   4.00-5.00   sec  94.5 MBytes   793 Mbits/sec   0    242 KBytes
[ 4]   5.00-6.00   sec  70.8 MBytes   594 Mbits/sec   0    202 KBytes
[ 4]   6.00-7.00   sec  14.3 MBytes   120 Mbits/sec    0    238 KBytes
[ 4]   7.00-8.00   sec  55.3 MBytes   464 Mbits/sec    0    355 KBytes
[ 4]   8.00-9.00   sec   108 MBytes   904 Mbits/sec    0    472 KBytes
[ 4]   9.00-10.00  sec   112 MBytes   937 Mbits/sec    0    500 KBytes
[ 4]  10.00-11.00  sec   113 MBytes   945 Mbits/sec    0    500 KBytes
[ 4]  11.00-12.00  sec   113 MBytes   944 Mbits/sec    0    500 KBytes
[ 4]  12.00-13.00  sec   113 MBytes   950 Mbits/sec    0    500 KBytes
[ 4]  13.00-14.00  sec   113 MBytes   944 Mbits/sec    0    502 KBytes
[ 4]  14.00-15.00  sec   107 MBytes   900 Mbits/sec   0    328 KBytes
[ 4]  15.00-16.00  sec  90.4 MBytes   758 Mbits/sec   0    200 KBytes
[ 4]  16.00-17.00  sec  81.3 MBytes   682 Mbits/sec    0    351 KBytes
[ 4]  17.00-18.00  sec  96.4 MBytes   808 Mbits/sec    0    378 KBytes

In Case B, when I set the window size, the Retr (retransmissions) is 0 or Retr = 0

So, why is this happening? What could be the reason for these gaps?