I think I have the answer now. It's due to the confusion caused by the prevalent and inconsistent use of MB and MiB out there in different software applications.
When I ran ib_write_bw with the --report_gbits flag, I did see over 50+ Gbps. That got me curious, so I assumed the MB/s output to be actually MiB/s, then 6028MiB/s = 51.02Gbps, as anticipated.