Generally speaking, the only ways to combat template-induced code bloat is to either factor template-independent code out, erase the type, or a hybrid of the two.
As for factoring template-independent code, if Arg1, and SomeArg are not template parameters, you can completely factor the lambda out in the form of a free standing function. If they are template parameters, you might still be able to factor parts of the template-independent logic out of the lambda, and minimize the bloat.
As for type erasure, you can either resort to a) virtual base classes coupled with derived template classes (which is actually what std::function uses under the hood), b) use C-style void (*)( void * ) function pointers, or rely on c) non-standard hacks such as this one: Member Function Pointers and the Fastest Possible C++ Delegates.
You are treading the dusty corners of the language here. Word of advice: save yourself a world of hurt, and keep it simple.