You want to know what code triggers the callback on the client side? Deep inside the code this is triggered by WCF, or in a 1- or 2-tier deployment it is triggered by the BackgroundWorker used to make the call async.
In a Silverlight app using local mode the data portal uses a BackgroundWorker to make the DataPortal_XYZ method run on a background thread. When the DataPortal_XYZ method completes, the BackgroundWorker tells the data portal it is complete, and that triggers the async callback.
I don't recall exactly where this is covered in the ebooks - almost certainly in the Data Access ebook though.
Copyright (c) Marimer LLC