Protocol driver not receiving data even after the packet filters are set

I am running the Microsoft’s intermediate driver sample code from window driver library. There are no modifications done to the sample. It is a latest library code downloaded from the github. There is a problem I am facing with the sample. After the installation of the intermediate driver, ndis is not calling the protocol driver’s receive handler sometimes.
I see in the debug logs that the packet filters are set and the ndis request is always completing with success status. If it doesn’t receive always, then there is some problem in setting the OID_CURRENT_PACKET_FILTER to the underlying miniport driver and I can find a way to fix it. But this sample sometimes it is receiving sometimes it is not.

If I do install/uninstall couple of times, protocol driver starts to receive the packets.

I am installing the intermediate driver in a hyper-v virtual machine. I hope the intermediate should behave the same for a virtual/physical machine.

This really bugging my head and this discussion from this would be a great help for me.