First make sure the SQL Server 2016 is patched to latest Service pack and CU to rule out any possibility of wrong estimation. Next is how much space have you allocated to tempdb ? As i see if you want to run complete checkdb in one go you have to add space in tempdb. Plus make sure you run checkdb when no other task is running. Its difficult for Checkdb to store 1TB check in 128 GB RAM so it will spill this to tempdb. But I must add that 718 GB seems on higher side.
I suggestion is to follow what Paul Randal has mentioned in CHECKDB (Part 6): Consistency checking options for a VLDB, see below
Run a bi-weekly DBCC CHECKALLOC
Figure out your largest tables (by number of pages) and split the total number into 7 buckets, such that there are a roughly equal number of database pages in each bucket.
Take all the remaining tables in the database and divide them equally between the 7 buckets (using number of pages again)
On Sunday:
Run a DBCC CHECKALLOC
Run a DBCC CHECKCATALOG
Run a DBCC CHECKTABLE on each table in the first bucket
On Monday, Tuesday, Wednesday:
Run a DBCC CHECKTABLE on each table in the 2nd, 3rd, 4th buckets, respectively
On Thursday:
Run a DBCC CHECKALLOC
Run a DBCC CHECKTABLE on each table in the 5th bucket
On Friday and Saturday:
Run a DBCC CHECKTABLE on each table in the 6th and 7th buckets, respectively
You ca run physical_only one week and then other week you can follow above procedure. Just list out your large tables and run dbcc checktable for them so that your chunk of data is secure.
PS: You need to be creative here. Adding more RAM with some tempdb space will definitely solves this issue