This is not a way to wait two seconds. Try it instead System.Threading.Thread.Sleep(2000).
As for your problem: when you say, “This doesn't work,” I assume that the font remains bold rather than returning to regular. Use this instead:
FontStyle style = label1.Font.Style;
label1.Font = new Font(label1.Font, style | FontStyle.Bold);
System.Threading.Thread.Sleep(2000)
label1.Font = new Font(label1.Font, style);
, , MSDN Enum.
, . . Timer.