Fix potential crash when area size is below 1x1
Use ThreadPool instead of Thread and replace unused 'threads' configuration parameter with pooled thread amount