First of all, "the size of the metaspace" is ambiguous, and thus meaningless without the context. There are at least five metrics: reserved, committed, capacity and used memory as described in this answer, and the high-water mark, also known as capacity_until_gc.

Metaspace is not just one contiguous region of memory, so it does not resize in the common sense. Instead, when allocation happens, one or more of the above metrics changes.
- On the fastest path a block of metadata is allocated from the current chunk.
used
memory increases in this case, and that's it.
- If there is not enough room in the current chunk, JVM searches for a possibly free existing chunk. If it succeeds in reusing chunks,
capacity
increases. No GC happens until this point.
- If there are no free chunks, JVM tries to commit more memory, unless the new
committed
size would exceed capacity_until_gc
.
- If
capacity_until_gc
threshold is reached, JVM triggers a GC cycle.
- If GC does not free enough memory, the high-water mark is increased so that another Virtual Space will be allocated.
After GC, the high-water mark value is adjusted basing on the following JVM flags:
-XX:MinMetaspaceFreeRatio
(used to calculate how much free space is desirable in the metaspace capacity to decide how much to increase the HWM);
-XX:MaxMetaspaceFreeRatio
(used to decide how much free space is desirable in the metaspace capacity before decreasing the HWM);
-XX:MinMetaspaceExpansion
(the minimum expansion of Metaspace in bytes);
-XX:MaxMetaspaceExpansion
(the maximum expansion of Metaspace without full GC).
TL;DR It's not that simple. JVM can definitely commit more Metaspace memory without triggering GC. However, when HWM is reached, GC is triggered and HWM is recomputed according to the ergonomics policy.