Eu recomendo ler isto para uma boa explicação sobre armazenamento nulo:Como o SQL Server realmente armazena NULL-s . Resumindo, o bit nulo/não nulo é armazenado em um local diferente, o bitmap nulo da linha.
Do artigo:
Assim, enquanto os valores reais para colunas de 8 bits são armazenadas em 1 byte, há bits extras no bitmap nulo da linha que indicam se essa coluna é NULL ou não... então depende de como você está contando. Para ser completamente colunas precisas de 8 bits usam 2 bytes , apenas dividido em 2 locais diferentes.