Если я правильно понимаю, вы пытаетесь заставить текстовое поле работать более 3 секунд, а затем уходите, если это так, то код, который вам нужен, будет выглядеть следующим образом
Task.Run(async () =>
this.Invoke(new Action(delegate (){
textBox9.Visible = true;
await Task.Delay(3000)
textBox9.Visible = false;
}));
РЕДАКТИРОВАТЬ: Этот код необходим, потому что вы не хотите повесить весь поток, просто подождите 3 секунды и затем заставьте его уйти, как вы это делаете, вы замораживаете все приложение, если вы не используете потоки
РЕДАКТИРОВАТЬ 2: Он ничего не показывает, потому что вы замораживаете поток перед тем, как он появится на вашем экране, а затем вы устанавливаете текстовое поле скрытым. Так что ничего не покажет