In the workforce nowadays, you are almost never going to get direct feedback about what you might be doing wrong: you have to read between the lines.
If you have been told by several companies that you are not a cultural fit (and then let go), then you might consider what aspects of your behavior are causing friction.
Think of it this way: due to the high costs of acquiring and training employees, companies hate to let people go, especially new hires. One has to be doing something very wrong to get let go, and employees are usually given many chances to get it together.
Yeah, thats not been the case with me. This last job I was let go this morning, and I started Monday. Most of my time there was spent making the case of simplifying the application. The code was horribly complex, and in my experience complexity is what does companies in. If I had been a good little employee and kept my mouth shut and did what I was told, I probably could have kept my job, but then I would have not contributed to the company in a way that would have made the company stronger. Sort of a catch 22. Put your foot down and be an asshole, or don;t put your foot down, let the company make crap software, but keep your job. There has to be a better way? Is there such a thing as a company that admires developers who have the guts to say no to a boss?
If you came in to a brand new job and saying "no" to the boss was the first thing you did, it's not too surprising that they formed a negative impression.