His behavior absolutely can be caused by being bored in class. If you were forced to sit in a first grade class and do their work, you would likely act the same way. The only thing that would stop you is being old enough to know that it's not acceptable behavior -- but even if you held it in all day, you would let it out when you got home.
If you can get them to accelerate him, or skip him, you may find that his behavior improves when he is in a class with older kids.
Have you tried the Iowa acceleration assessment to see how he shapes up on that? It measures all the different factors that make for a successful grade skip.