As another point of reference, Hangfire also uses expressions for a similar use-case and it seems to work quite well.
E.g. https://docs.hangfire.io/en/latest/background-methods/passin...
BackgroundJob.Enqueue<EmailSender>(x => x.Send(13, "Hello!"));