This can easily happen if adding drivers through Python via pose.bones[...].bone.driver_add(), e.g. in Rigify code: the bone field doesn't change id_data, so the driver is associated with the object ID. To handle this it's necessary to skip from Object to data in RNA_Bone-specific code both for generic RNA and in the custom code for drivers. The latter also had to be changed to use the proper parsed RNA pointer instead of string matching on paths.