Hola mira a mi me pasa lo mismo, he estado buscando en varios lugares la solución. Hoy encontré una posible razón y te la escribo tal como lo explican:
Cuando esto ocurre y la PC no tiene conflictos de ningún tipo, significa que la aplicación tiene alguna sobrecarga, puede ser por código o por el uso excesivo de archivos que necesiten mucha memoria (como por ejemplo los mapas de bits); si su aplicación usa muchos archivos de imagenes de gran resolución para ponerlas como fondo en los formularios de su aplicación, puede provocar este error.
Voy a describir varios ejemplos de código mal estructurado que puede ocasionar este error:
--Que declaren muchas variables pesadas Globales (Públicas) por ejemplo: Recordset, Database, Object. Hay que tener mucho cuidado con el exceso de variables globales (Públicas) de cualquier tipo para ser exactos, pero las antes mencionadas son pesadas. Solo se declaran variables globales cuando es necesario.
-Otro ejemplo es cuando declaran variables pesadas (como las del parrafo anterior) y luego no son liberadas (destruidas). Se recomienda que cuando uses una variable por ejemplo Recordset despues la cierres con el método Close, para una variable de Objeto se recomienda que las destrullas asignandole el valor Nothing.
--Otra cosa que puede provocar este error puede ser en operaciones matemáticas de punto flotante que no estén bien validadas y con determinado valor provocan un error incontrolable.
--Tambien podemos mencionar los Eventos en Cascada.
--Este error también puede surgir cuando termina la aplicación y esta antes de terminar no cierra los formularios que tiene cargados.