protected override void OnBeginWork(AsyncCallback callback) { //Chiamo in maniera asincrona proprio la funzione di callback, // perchè logicamente questa funzione deve solo chiamare su un altro thread la funzione di callback che a sua volta chiama la complete e le chiamate correlate // devo fare un giro su un altro delegate perchè altrimenti creo un deadlock, perchè aspetto sullo stesso thread che deve finire asyncDelegate.BeginInvoke(callback, new Object()); }