Thread breaks somehow and stops

I am making an “anticheat” for my server and using code from a resource already existing “atg-anticar”
I just made a little adjustment so it despawns not only the blacklisted cars but also the ones that doesn’t match the vehicle plate syntax of the server.

Here is the code that works from atg-anticar:

Citizen.CreateThread(
    function()
        while true do
            Citizen.Wait(10000)
            for veh in vehicles() do
                if vehblacklist[GetEntityModel(veh)] == true then 
                    local ped = GetPedInVehicleSeat(veh, -1)
                    if ped ~= 0 then
                        if IsPedAPlayer(ped) then
                            ClearPedTasksImmediately(ped)
                            while not NetworkHasControlOfEntity(veh) do
                                NetworkRequestControlOfEntity(veh)
                                Citizen.Wait(1)
                            end
                            SetEntityAsMissionEntity(veh, true, true)
                            DeleteVehicle(veh)
                            DeleteEntity(veh)
                        end
                    else
                        while not NetworkHasControlOfEntity(veh) do
                            NetworkRequestControlOfEntity(veh)
                            Citizen.Wait(1)
                        end
                        SetEntityAsMissionEntity(veh, true, true)
                        DeleteVehicle(veh)
                        DeleteEntity(veh)
                    end
				end
                Citizen.Wait(10)
            end
        end
    end
)

And here is the modified one that for some reason only runs once and then doesn’t run again

Citizen.CreateThread(
    function()
        while true do
            Citizen.Wait(10000)
            for veh in vehicles() do
                if vehblacklist[GetEntityModel(veh)] == true then 
                    local ped = GetPedInVehicleSeat(veh, -1)
                    if ped ~= 0 then
                        if IsPedAPlayer(ped) then
                            ClearPedTasksImmediately(ped)
                            while not NetworkHasControlOfEntity(veh) do
                                NetworkRequestControlOfEntity(veh)
                                Citizen.Wait(1)
                            end
                            SetEntityAsMissionEntity(veh, true, true)
                            DeleteVehicle(veh)
                            DeleteEntity(veh)
                        end
                    else
                        while not NetworkHasControlOfEntity(veh) do
                            NetworkRequestControlOfEntity(veh)
                            Citizen.Wait(1)
                        end
                        SetEntityAsMissionEntity(veh, true, true)
                        DeleteVehicle(veh)
                        DeleteEntity(veh)
                    end
				elseif string.find(tostring(GetVehicleNumberPlateText(veh)), " ") ~= 4 then
                    local ped = GetPedInVehicleSeat(veh, -1)
                    if ped ~= 0 then
                        if IsPedAPlayer(ped) then
                            ClearPedTasksImmediately(ped)
                            while not NetworkHasControlOfEntity(veh) do
                                NetworkRequestControlOfEntity(veh)
                                Citizen.Wait(1)
                            end
                            SetEntityAsMissionEntity(veh, true, true)
                            DeleteVehicle(veh)
                            DeleteEntity(veh)
                        end
                    else
                        while not NetworkHasControlOfEntity(veh) do
                            NetworkRequestControlOfEntity(veh)
                            Citizen.Wait(1)
                        end
                        SetEntityAsMissionEntity(veh, true, true)
                        DeleteVehicle(veh)
                        DeleteEntity(veh)
                    end
				end
                Citizen.Wait(10)
            end
        end
    end
)