Update:
JVM does not aggressively size committed memory to the number of threads * 1MB, that's a wrong assumption based on the wrong NMT reporting where in Java 8 committed memory is automatically set to reserved memory. See https://bugs.openjdk.java.net/browse/JDK-8191369