By default Windbg will break for access violations (or null reference exceptions as they're called in managed code). To get Windbg to break for managed exceptions use the sxe command.
A little while later our program generates a CLR exception and pops into the debugger.
This is a first chance exception so this may be expected and handled, as the message helpfully reminds you. Let's find out what caused this exception.
We can also have a look at the managed stack trace to see where this exception happened.
If we want to get a feel for what sorts of exceptions are generated by our program but not necessarily inspect each one we can tell Windbg to stop on exceptions, print out some information about the exception, and then continue running all without user intervention.