So, we actually found the issue and it was code that was working before, but has just now stopped working. Basically in the python we were creating the calling the function to create the tables in parallel using this:
max_workers = min(len(configs), 20, concurrent.futures.ThreadPoolExecutor()._max_workers or 20)
with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor:
list(executor.map(create_single_table, configs))
Just changed it to do a for loop on the configs and that fixed it. Out of curiousity to change the 20 above to 1 and it still gave the error. So, that would've only done them 1 at a time; so it's more of an issue with that concurrent.futures code than actual parallel processing of calling the create_single_table function.
Here's the error for reference:

While we have solved the issue after many hours of debugging Declarative Pipelines; which is not easy at all. It brings up a bigger is in that we can't change the DBR version and things can just break and the actual error is very difficult to find.