Вы пытаетесь получить доступ к элементам пользовательского интерфейса из потока, не относящегося к пользовательскому интерфейсу, и это может вызвать множество проблем.
Просто не используйте поток пула потоков, так как здесь нет никакой причины делать это вообще.
public async void DoWorkPollingTask()
{
Form f2 = new Form2();
while (true)
{
f2.Show();
await Task.Delay(10000);
}
}
Есть ли способ показать форму form2 из задачи таймера задачи, которая запускается каждые x секунд?
Вы можете использовать фактический таймер, если хотите. Код уже очень прост, но если вы просто предпочитаете использовать таймер, то используйте таймер. Просто убедитесь, что вы используете таймер, предназначенный для работы с инфраструктурой пользовательского интерфейса, а не с одним из системных таймеров, чтобы он вызывал событие в потоке пользовательского интерфейса.