Please take a look at the Revalee open source project.
Revalee is a service that allows you to schedule web callbacks to your ASP.NET MVC application. Revalee manages task persistence and scheduling using a Windows Service, but leverages your ASP.NET MVC application to handle the processing effort (i.e., "the work").
The following is the workflow of an MVC application that uses Revalee:

(source: sageanalytic.com)
In your case, you would schedule a future callback (when the user submits the survey) to trigger an action in your MVC application that would inspect your survey results. The outcome of that inspection would then trigger (or not) a subsequent email message to be sent to the user.
<edit>
Something else to consider...
You may want to change the way you approach your problem domain. Instead of scheduling a fixed task "every Monday" (that is, execute a process that tests all surveys all at the same time), flip the processing around: process each survey individually. Understandably this is problematic without a callback solution, like Revalee. But with Revalee, you can schedule each user's survey to be processed +48 hours (for example) after they submit it. This does two things:
It alters the survey inspection "work" from testing all surveys to testing a survey.
It spreads out the inspection processing throughout all days of the week (and hours of the day). That is, it will no longer be limited to processing every Monday at exactly, say, 8 o'clock in the morning.
To register a more individualized callback using Revalee, you might register a future callback like this:
private void ScheduleSurveyInspection(int surveyId)
{
// The callback will be 48 hours from now
DateTimeOffset callbackTime = DateTimeOffset.Now.AddHours(48.0);
// The callback URL will include the ID of the survey to be reviewed
Uri callbackUrl = new Uri(
string.Format(
"http://mywebapp.com/Survey/Inspect/{0}",
surveyId
)
);
// Register the callback request with the Revalee service
RevaleeRegistrar.ScheduleCallback(callbackTime, callbackUrl);
}
When your MVC application is called back 48 hours later, your SurveyController
would process the callback using the following Inspect
action:
[AllowAnonymous]
[CallbackAction]
public ActionResult Inspect(int surveyId)
{
// TODO Lookup the survey's information and perform the necessary review
// ...
return new EmptyResult();
}
Naturally, if your current processing workflow cannot be changed from occurring once a week every Monday to occurring +48 hours after survey submission, then Revalee can still be used to schedule that task. Your callbackUrl
would simply be:
Uri callbackUrl = new Uri("http://mywebapp.com/Survey/InspectAll");
</edit>
I hope this helps. Good luck!
Disclaimer: I was one of the developers involved with the Revalee project. To be clear, however, Revalee is free, open source software. The source code is available on GitHub.