I am unable to get word substitution to work consistently with sendgrid v3 api in c#. Sometimes the tags will be substituted, other times they will not. I am at a loss as to what causes this. Can anyone see any obvious errors in my code?

```
            String apiKey = "KEY";
            dynamic sg = new SendGridAPIClient(apiKey);

            Email from = new Email("info@example.com");
            String subject = "Hello World from the SendGrid CSharp Library";
            Email to = new Email("example@gmail.com");
            Content content = new Content("text/html", " ");
            to.Name = "Joe";

            Mail mail = new Mail(from, subject, to, content);
            mail.TemplateId = "dfea45f3-d608-4860-9f38-c7d444qwrqwc1f";

            Personalization subs = new Personalization();
            subs.AddTo(to);
            subs.AddSubstitution("*|url|*", "http://asdasdasd.com");
            subs.AddSubstitution("*|username|*", "MrUsername");

            mail.AddPersonalization(subs);

            dynamic response = sg.client.mail.send.post(requestBody: mail.Get());

```