As best I can tell, Database Mail doesn't make any attempt at multithreading. It does use Service Broker, so calling sp_send_dbmail will return immediately and not wait for the message to be sent, however.
Looking at msdb.sys.service_queues (the queue definitions for Service Broker, which is how Database Mail is implemented), I see queues named InternalMailQueue and ExternalMailQueue, and both have max_readers set to 1. Looking at their activation procedures (sp_ExternalMailQueueListener and sp_sysmail_activate) doesn't suggest there's anything fancy going on there in terms of threading. The former does some error handling and conversation cleanup, and the latter does the actual mail sending via master..xp_sysmail_activate, which appears to be a blocking call that produces a return code.
So as far as I can see, there's no real attempt at multithreading for the sake of sending lots of messages simultaneously. It only does asynchronous queuing so your application doesn't have to wait for messages to be sent before continuing.