I guess it is because the Table Variable insertion does not support the parallel plan.
Parallel Query Processing is a proccess of optimization in parallel queries that is implemented in MsSql and the temporary table benefits from it whereas the Table Variable does not.
This is one of the main reasons why we do not use a table variable for large set of data (when the scope is of no concern).
Look here for more information.