L'hai detto tu stesso, succede perché il programma in fase di compilazione è ancora in esecuzione.
In Windows, non è possibile apportare modifiche al file EXE di un programma quando è in esecuzione.
È incredibilmente fastidioso e una di quelle cose che (per me) rendono Windows leggermente meno comodo di ad esempio Linux per lo sviluppo.