In the case of your COPY statements, it sounds like they are all using the "query budget".
I don't know if my problem is exactly problem with QUERY_BUDGET.
As I said before, my process achieve a peak of 11 simultaneous queries. If I have PLANNEDCONCURRENCY = 10 (more QUERY_BUDGET_KB) I get the error, but If I have PLANNEDCONCURRENCY = 12 (less QUERY_BUDGET_KB) the process runs without problem. Even with less QUERY_BUDGET_KB the process is able to finish sucessfully, but, PLANNEDCONCURRENCY must be greater than 11 (peak of simultaneos queries).
Reading carefully your post, I thought the PLANNEDCONCURRENCY should be just an estimate, where I can get more or less simultaneous queries using the amount of memory defined in QUERY_BUDGET_KB, right ?
So, If I have unlimited MAXCONCURRENCY and PLANNEDCONCURRENCY is just an estimate, I could run out of memory.
So, I tried to set up PLANNEDCONCURRENCY = 10, MAXCONCURRENCY = 10 and EXECUTIONPARALLELISM = 1, to be sure that my limit of simultaneos queries would be only 10 and doesn't run out of memory.
But even using those configuration, I'm still getting the same error.