You can use some asynchronous threaded part to petform that "polling".
aome advantages over reading the values directly should be:
1. a single request for a whole subscription, which can have multiple monitored items
2. multiple data changes of the same variable within the same publish: If queues are big enough you should receive each changed value, even if the sample interval is slower than the changing of values
See this, too: https://groups.google.com/forum/m/#!topic/open62541/2LPNraNG3Xw