So to answer my own question. I was not able to return an Entity back, so I switched to a different approach. Instead, I wrote a custom workflow that would actually send the email (from template) after gathering all recipients. I used the following
var emailUsingTemplateReq = new SendEmailFromTemplateRequest
{
Target = email.ToEntity<Entity>(),
TemplateId = template.Id,
RegardingId = regardingId,
RegardingType = Incident.EntityLogicalName
};
var emailUsingTemplateResp = (SendEmailFromTemplateResponse)crmService.Execute(emailUsingTemplateReq);