C# Threading in Window service creating issue
===

I have issue with email sending window service. The service starts after every three minutes delay and get messages that are to send from the db, and start sending it. Here is how the code looks like:

            MessageFilesHandler MFHObj = new MessageFilesHandler();
            List<Broadcostmsg> imidiateMsgs = Manager.GetImidiateBroadCastMsgs(conString);
            if (imidiateMsgs.Count > 0)
            {
                
               // WriteToFileImi(strLog);
                
                Thread imMsgThread = new Thread(new             ParameterizedThreadStart(MFHObj.SendImidiatBroadcast));              
                imMsgThread.IsBackground = true;
                imMsgThread.Start(imidiateMsgs);
            }

This sends messages to large lists, and take long to complete sending to a larger list. now the problem occurs when on message is still sending and the service get a new message to send, the previous sending is haulted and new message sending started, although i am using threads, each time service get message to send it initiate a new thread. 
Can u please help where i am doing mistake in the code.

