When typing an array operator with insert ] automatically into an existing line of code VA automatically places the cursor at the end of statement after insertion. So if you have:
Foo myFoo = SomeMethodHere();
and you type [ directly after myFoo the corresponding ] is inserted and then the cursor is placed before the semicolon.
This happens to me every time, but I failed to mention it's in C#. Perhaps that was the missing bit of information I was expecting you to get telepathically? Sorry about that. If it still is unreproducable maybe I can produce a log for you or something?