Witam. Piszę ostatnio Snake'a. Gdy chcę zresetować grę to mimo że mam Canvas.Children.Clear() to elementy które wcześniej się poruszały w osobnym wątku się nie skasowały

public void DelateGame()
        {
            if (moveThread.IsAlive)
            {
                snake.AbortMoveThread = true; //Kończę tutaj wątek
                moveThread.Join();
            }
            GameField.Children.Clear();
            MainWindowObject.SetKeyBuffer = System.Windows.Input.Key.None;
        }

Co ciekawe jeżeli wątek zakończył się przed wywołaniem tej metody to wszystko działa. Do Canvas'u nie są także później dodawane żadne elementy.