Is Memory Grant size 'cached' for subsequent executions of a cached plan?
The team lead is correct in the statement about memory grants given the version of SQL Server you're using (SQL Server 2014, based on the tags here).  They are part of the cached execution plan, and the values are re-used across executions as long as the cached plan is in place.

Improvements have been made in this area on newer versions of SQL Server:


SQL Server 2017 introduced batch mode memory grant feedback: SQL Server 2017: How does Batch Mode Memory Grant Feedback Work?
SQL Server 2019 has introduced row mode memory grant feedback: Row mode memory grant feedback


These improvements allow the cached plan to be updated based on runtime feedback (how much of the memory grant was used on the previous execution).

I can't find a specific source in the documentation that confirms memory grants are reused as part of the cached plan, but hopefully it's implied well enough from the memory grant feedback improvements that have been introduced in newer versions.