You need to put the reset inside Vue.nextTick and then it'll work.
you can use:
Vue.nextTick(() => {
      this.$v.$reset()
    });
or
this.$nextTick(() => { this.$v.$reset() })
Example how to use Vue::nextTick():
// the component
export default {
	data() {
		return {
			foo: null,
			bar: null
		}
	},
	validations: {
		foo: {
			required,
			minLength: minLength(5),
			maxLength: maxLength(15)
		},
		bar: {
			required
		}
	},
	methods: {
		onFormSubmit() {
			
			// this works even better - using Vue.nextTick method
			this.$nextTick(() => { this.$v.$reset() })
                        // reset your fields here
		}
	}
}