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();
        }