Look at this code
declare @numbers table(number int)
insert into @numbers (a.number)
select 100
select number from @numbers
It works correctly although the column is specified as a.column and there is no such table or any table with alias a.
The following also looks like a bug with works without any error (There are more multi part object names specified)
declare @numbers table(number int)
insert into @numbers (a.a.a.a.a.a.a.number)
select 100
select number from @numbers
The question is “Why is table alias ignored for columns specified in INSERT statement?”