Creating an anti exploit mining timer

I am trying to create a within reason anti exploit script to prevent players from instantly mining blocks. Basically, if a player does not own a certain gamepass, I store their mine time (time the start mining) and if when they mine another block it’s been too quick, then idk, do something, or log that they’ve mined blocks too fast, idk

if not OwnGamepass(player, "Instabreak") then -- Does not own, need to store times
	if not Mining[player] then -- Store players current time
		Mining[player] = os.time()
	else
		if Mining[player] + 0.05 > os.time() then
			-- Exploiting
			return
		end
	end

    -- Remove player from table
	task.delay(0.5, function()
		Mining[player] = nil
	end)
end

-- Destroy block on server

I’m unsure if 0.05 is a good leniency amount. This is in the server btw. I also do a check on the client, this is more so for the 99% of players who do follow the rules and so its quick response. This serverside is purely just as a final blockade to stop them.

I’m also unsure if my way of removing them from the table is good in terms of preventing memory leaks, etc.