Как уже говорили другие, проблема в том, что ваш таймер запускает поток и пытается избавиться от объекта, созданного в другом потоке. Вам нужен метод dispose для вызова формы, прежде чем она попытается получить к ней доступ.
Базовая вещь, на которую следует обратить внимание: если вы когда-либо пытаетесь изменить объект презентации, созданный в конструкторе, из другого потока, вам нужно проверить, требуется ли вызывать.
void OnTick()
{
if (InvokeRequired)
Invoke(new MethodInvoker(OnTick));
else
{
Dispose();
}
}