Check the implementation of ``using``, the ``resource`` is evaluated eagerly, i.e., before the call is made (and IMO, the fix should not be changing the declaration of ``using`` to take a lazy argument, because you never want the passed resource to be created multiple times).