I went through the solutions and at the end it was concluded that "confirmed that a "system user" cannot unlock a page unless he owns the lock, no matter the permissions I give to him". At the end developer ended up chanding his flow to achive the same which is
1- an AEM user initiates my custom workflow on a page
2- my WorkflowProcess implementation code, locks the page under the initiator session. This means that the initiator owns the lock of that page.
3- on a further down workflow step, my code needs to unlock the page, but the AEM user completing the step is not the same user as the one who owns the lock.
Therefore I have to manually (not programmatically) already have created a system user with permissions to unlock ANY page, AND have my code unlock the page under his session.
Go through the post and it should lead you to the solution.