I'm not sure what can be said about qualifications of a programmer who doesn't know how many threads does his program run and why. And this is in Java, where the author says he's proficient. There's nothing difficult in checking how many threads are there instead of speculating on some unclear link betweeen 'final' keyword and multithreading.
It's quite possible that bad performance is a result of poor implementation, not a fault of Go runtime. Unfortunately, there's no code to have look at.