Really odd changed this line:
if (row.Cells[“Hostname”].Value == dup.Key)
to:
if ((string)row.Cells[“Hostname”].Value == (string)dup.Key)
I dropped in some console output and was able to see that after the first match, even though it was comparing the same values it would not resolve true to color the cell. Once I added in (string), everything works great.