RE:Problema con thisform.release
Bueno esa es una recomendación si te funciona y no quieres trabajar mucho sobre el tema pues dejalo en modal.
Ponerlo en modal lo que hace es que mientras trabajes con un formulario modal y no lo cierres u ocultes no puedas regresar a los demas.
Como te dije anteriormente es la forma en que lo hago yo, y me da un control total sobre varios formulario que haciendo de otro deberia utlizar conjunto de formularios que tiene una sobre carga adicional en tiempo de ejecución del programa e impide la reutilizacion del software.
Las ventaja que tendrias es mas a largo plazo por ejemplo la como ya te mencione la reutilización del software, te amplio mas yo tengo un sistema de punto de venta, con multicentro, asiento automatizado y otras cosas mas que no vienen al caso y lo que hice fue utilizando esa tecnica cree un formulario alojado en una biblioteca comun a varios formularios por decirte como ejemplo: busqueda de un producto, este formulario se utiliza en los formularios de ventas, compras, fichas de movimiento de productos, visualizacion de stock y otros por el estilo, entonces dicho formulario (el de busqueda de productos) es un objeto que de hace algunas cosas en comun y otras dependiendo del formulario en el que esta alojado esto es reutilizacion del software combinado con funciones virtuales (funcion virtual ejecuta una u otra accion dependiendo del contexto en el que se encuentra el objeto)
Otra ventaja como ya te mencione es el control total sobre los objetos, por decirte en el formulario de busqueda de productos puedes habilitar/deshabilitar objetos asignar valores a estos, ocultarlos, mostralos y algo fundamental si tu pasas una referencia del formulario principal al de busqueda puedes ejecutar un metodo alojado en el formulario principal desde el formulario de busqueda algo que la mayoria no le da importancia. Imaginate esto cuando selecciono un producto desde el formulario de busqueda de productos este pasa los datos del producto a un metodo alojado en el formulario principal este lo valida, registra y devuelve un valor que es recojido por el formulario de busqueda que si es valido concluye su mision y se desactiva, si no es valido pide de nuevo al usuario que busque otro producto.
Es un ejemplo, tengo formularios de por ejemplo busqueda de clientes, que es exactamente el mismo que el de busqueda de proveedor (solo que abre tablas diferentes), tengo el de busqueda de cuenta contable y otros similares.
Espero haber disipado tu duda, se que se entenderia mejor con ejemplos pero es algo complicado de realizar, tu decides!!
Saludos