Can you specify what version and development model you're using?
The scheduled task is hard coded to run at 2am (server time) and only delete 1000 contacts at a time. If you're using v13 MVC you should be able to use something like this to override and create your own service.
(Code reference from Chris Bass)
using CMS;
using CMS.ContactManagement;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Site;
[assembly: RegisterImplementation(typeof(IOffPeakService), typeof(AlwaysOffPeakService), Priority = CMS.Core.RegistrationPriority.Default)]
namespace Site
{
    /// <summary>
    /// Summary description for AlwaysOffPeakService
    /// </summary>
    public class AlwaysOffPeakService : IOffPeakService
    {
        public AlwaysOffPeakService()
        {
        }
        public DateTime GetNextOffPeakPeriodStart(DateTime dateTime)
        {
            return DateTime.Now;
        }
        public bool IsOffPeak(DateTime dateTime)
        {
            return true;
        }
    }
}