Sanırım Thread' ı oluşturmadan önce datagridin source değerini null yaparsanız sorun çözülecektir. Yani aşağıdaki gibi
private void timer1_Tick(object sender, EventArgs e)
{
datagrdMac.DataSource = null;
Thread thread1 = new Thread(new ThreadStart(yeni));
CheckForIllegalCrossThreadCalls = false;
thread1.Start();
}