Вы можете использовать перекрестную нить, объявив делегата.
private delegate void thread_delegate();
затем создайте метод и поместите все ваши методы, которые обращаются к вашему списку.
private void SampleMethod()
{
....
}
затем создайте метод для вашей темы.
Внутри этого метода вызовите ваш метод whick
private void ThreadMethod()
{
thread_delegate d = new thread_delegate(SampleMethod);
d.Invoke();
}
В вашем заявлении, где вы создаете свою ветку ...
Thread t = new Thread(new ThreadStart(ThreadMethod));
t.Start();