Your basic approach (seperate tasks) is correct. A few points:
1) using the property node forces the top loop to be executed in the UI thread, which is shooting yourself in the leg.
2) I modified the chart to display real time.
3) Flush queue does the work of your bottom loop.
4) There is no need to use a shift register for the queue. It doesn't change.
5) Your method of stopping the bottom loop is interesting, but I don't think it would be viable if this was the real application.
___________________
Try to take over the world!