According to multiple research, it seems Bluez is very flimsy with anything other than python-dbus. The same problem I got from using Tmds.dbus on c# was present when using python's dbus-next. Using python-dbus works flawlessly.
If someone is an expert on bluez's internal, I'd be glad to know what makes it less collaborative with other dbus clients. I checked the bluez source code, but couldn't find anything that might cause these problems.