There are a couple of ways to accomplish this... You could use the
ThreadPool.QueueUserWorkItem method - there is an overload that lets you
pass in a state object.
Probably the prefered method would to be to use an asyncronous delegate.
With this method of the delegate to invoke the method. This lets you pass
in a callback function that will be called on the completion of the method.
Using this method, you can retrieve the return value by calling the
delegates EndInvoke method.
Anyway, here is one article that shows async method calls. The code is
in C#, but the principals apply.