Priority Inheritance is a feature of Keil RTX (and others) to prevent priority inversion. If a high priority task is trying to obtain the mutex already obtained by a low level task, priority inheritance would normally cause the low level task to be assigned the high priority task's priority to allow it run to unlock.
For how long does the low priority task run at the higher priority?
If the high priority task is waiting a long time I would expect the low priority task to run at high priority until the resource is released. If the high priority task is configured to wait a short time does the low priority task revert to its low priority after that time?
In particular if the timeout is 0, does priority inheritance come into effect at all?