Well, of course all programmers would never admit that there's something wrong with their code, but it looks just like it.
Your problem may be thread-related, probably caused by one of the components you use (The components that come with Delphi are very reliable, so I guess you use 3rd-party components) or by your own code. Try to remove one component you use after the other to see which one causes the problem...