Suppose I have a function DoStuff that is defined in the assembly A.dll. This function takes a Func<T> parameter. I call this function inside of B.dll as DoStuff(() => ...).
Where is the Func<T> evaluated? It appears to be inside of B.dll, but I would expect it to be inside of A.dll. What happens if the Func<T> requires external references? Am I forced to include them in B.dll? Can I force it to execute inside A.dll?