Grant non Sysadmin the ability to change max memory setting SQL Server
You should use signed procedure in this case. 

The greate article Signing Procedures with Certificates by Erland Sommarskog explains it well, and here are the steps to perform:


Create a certificate in the master database.
Create a login for that certificate.
Grant that login ALTER SETTINGS.
Export the certificate to file.
Switch to the application database.
Import the certificate from the file.
Delete the file from disk.
Create a user for the certificate.
Sign the stored procedure with the certificate, each time you have
changed the procedure.