• I think you can support Option 1 by making an asynchronous method call from your app tier.

    This can be done using a local thread pool vs, crating a new thread. You can use delegates to handle this .