Do you like this kind of helper, which creates short lived helper objects through a delegate?
it gives my code the same quality of feeling independent of resource allocation as when using constructor injection


But it's not. With constructor injection, the caller can easily use another implementation or create the resource with different parameters. With your helper method, that is gone. And you can use constructor injection with short lived resources: inject a factory for that resource (that could be a simple Func&lt;Resource&gt; delegate or an interface) instead of the resource itself.

All in all, your helper method might be useful to avoid repeating common code, but not much else. And even with that, it doesn't help much.