That's exactly the kind of thing I figured it'd be. I already fixed that with the d float, but hadn't noticed colx and coly. I'll fix those tonight and see if that solves the problem. Thanks.
Looks like you're sharing colx and coly between all the threads, creating a race condition. Try making those variables local within the lambda.
EDIT: That fixed the problem. I'd figured it was related to some shared data, but I was having trouble finding it. Thanks again for the help!