The #details documentation of QDBusPendingCallWatcher (http://doc.trolltech.com/4.6/qdbuspendingcallwatcher.html#details) does not provide any information about the necessary lifetime of a QDBusPendingCallWatcher. Using the sample code as reference, will most probably result in wasted memory, as an instance of QDBusPendingCallWatcher will be created for each asynchronous call, but never deleted [*].
I'd suggest to add the line:
at the end of the method MyClass::callFinishedSlot().
[*] Of course all the instances get deleted when the parent gets deleted, but in a typical usecase the parent might stay alive until the application gets shutdown.