If you don't want to use the Action constructor, you can always specify you variable type explicitly, which is often required when it comes to actions, funcs and expressions.
Like this:
Action dispose = () => { /* do something */ };
Action<int> dispose = someInt => { /* do something with the 'someInt' parameter */ };
Action<int, string> dispose = (someInt, someString) => { /* do something with the two parameters */ };
The reason why you can't use var here is because this could just as well be an expression
/* equally valid */
Expression<Action<<int, string>> dispose = (someInt, someString) => /* do something with the two parameters */ ;
The only requirement for the Expression variation is that the body of your action can only be one line of code. (you can't use curly braces)
This is the reason why "var" does not work in this context, the compiler can't determine if you're specifying an action or an expression of an action:
/* will not compile */
var dispose = (someInt, someString) => /* do something with the two parameters */ ;