i7 6700k @ 4.2 went from 6H/s to an average of 16H/s, awesome work dude, what the hell did you do?
Allocate and reuse the memory that Argon hashes within. 512MB is reserved per hashing thread, and not released or deallocated until the entire program is terminated.
Something you'd never, ever do if you cared about secure argon2i hashing, but for speed hashing...