• sp_spaceused returns 2 datasets with different shapes. If I'm reading BOL correctly (I haven't tested it), then in this case, INSERT INTO tries to insert both datasets into the temp table.

    BOL -

    If execute_statement is used with INSERT, each result set must be compatible with the columns in the table or in column_list