Bueno, finalmente he logrado encontrar el problema, que como todo problema que resulta desesperante y enloquecedor, terminó siendo una estupidez de características épicas.
En definitiva el error fue generado (misteriosamente) por el mismo Visual Studio 2005, al migrar estos dos formularios...
El problema es que no sé por qué causa, la migración dejó comentada una línea crítica del Dispose de los componentes en esos dos formularios:
Código vb:
Ver originalProtected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
' MyBase.Dispose(disposing) <--- Esta linea no deberia estar comentada.
End Sub
Tan simple como eso.
Como esa sección de código normalmente no se toca, no tengo ni la menor idea de cómo o por qué decidió ponerlo así, especialmente por cuanto al revisar los demás formularios importados, el resto no tienen esa linea comentada. Juro que yo no lo hice, revisé todos los backups desde la migración hasta la fecha y está así en todos.
Como sea, lo encontré cuando me puse a debuggear el funcionamiento del Dispose y detecté que en realidad no se estaba ejecutando completo y el evento Disposing no ocurría. Ahí fue cuando encontré las líneas así.
Un asco
Me ha hecho perder días y me ha retrasado hasta el cansancio esta etapa del proyecto, porque la directiva no quiere gastar 100 U$S en una librería paga.