Receiving and sending notifications from database
Should I use this?

NO

If not then why?

Reference TaskFactory.StartNew Method

Remarks
Starting with the .NET Framework 4.5, the Task.Run method is the recommended way to launch a compute-bound task. Use the StartNew method only when you require fine-grained control for a long-running, compute-bound task. .......

Which would end up as
//...omitted for brevity

Task.Run(() =&gt; {
    notificationService.MarkNotificationsAsSent(notification.NotificationId);// A database Hit
});

//...omitted for brevity