Create a new revisions only at the time of specific state transition
I would look into using Rules, You can have something like the below:

Event: Workflow state has changed 
If: Workflow state is x (choose your state)
DO: Create a new pending revision of the node