After lots of tries, I've recognised Solidworks creates unwanted things (unavailable menu items, unclosable documents etc..), so I guess while I was tried to figure out how my code works well, I called swApp.CommandInProgress=true "too many times".
After I restarted Solidworks and fixed errorhandling in my app.. voila this works, and my app runs fast as a rocket
Public Class myForm
Public swApp As SldWorks.SldWorks
Public Sub myForm_Load..
swApp.CommandInProgress = True
Public Sub myForm_FormClosed..
swApp.CommandInProgress = False
Debug.Print(swApp.CommandInProgress) '--Now this prints False