Change OnTimer to worker thread