How to create screw thread with a circular profile
The main problem is from known limitations for Boolean - non-manifold geometry.

If you select non-manifold geometry by Ctrl+Alt+Shift+M you'll see these boundaries selected :



So to apply Boolean without problems in this case fill the boundaries of the screwed circle. 

You can do that by pressing F while they're still selected. Then add Boolean to the cylinder and choose Union.