The first behavior occurs as expected. But the second --- and most useful --- doesn't happen.
You forgot the parentheses on Show. The event evaluates form.Show, but doesn't call it.
Replace
timer.Bind(wx.EVT_TIMER, lambda _event: form.Show)
with
timer.Bind(wx.EVT_TIMER, lambda _event: form.Show())