yo estoy creando un programa mas o menos como hacer el tuyo que puede verlo en este hilo
https://foro.seguridadwireless.net/aplicaciones/wlanwifi-version-0-1/el programa utiliza el metodo de conectase con managewifi.dll y crear el perfil de red con el comando netsh wlan
el mensaje que te es puesto solo los recibe cuando esta haciendo debug si deja ejecutándose a programa durante un tiempo
haciendo conexiones y desconexiones te dara tarde o temprano es error que el compilador te indicaria es error es el que te es indicado ante
a nivel de usuario cuando ejecuta el programa este se le cierra inesperadamente con un error inesperado puede aparece de forma aleatoria normalmente cuando se esta haciendo muchas conexiones y desconexiones
el compilado tu proyecto en visual studio y le ocurre exactamente los mismo y el mismo error para evitar de momento yo los es solucionado aumentado el delay de espera entre conexiones y desconexión y de momento marcha bien sin cierre inesperado
yo no es tenido todavia tiempo en documentame sobre la estructura 'WlanReasonCode' pero por los poco que es leido parece ser que hay que rellena los datos de dicha estructura ya que 'WlanReasonCode' esta estrechamente relacionado con la notificacion de la conexiones y puede que se quede sin datos produciendose ese fenomeno de error
No se pueden calcular referencias del tipo 'WlanReasonCode' como estructura no administrada; no se puede calcular ningún desplazamiento o tamaño significativos.