Unwanted jittery behavior

I have the following code in a script for a 2D game in the XY plane

function FixedUpdate () {
    // Make sure we are absolutely always in the 2D plane and with the right rotation.
    transform.position.z = 0;
    transform.eulerAngles= Vector3 (270,0,0);
    }

function LateUpdate () {
        var realWorldPosition: Vector3 = Camera.main.ScreenToWorldPoint (Input.mousePosition);
        var gamePosition: Vector3 = Vector3(realWorldPosition.x, realWorldPosition.y,0);
        transform.position = gamePosition;
    }

function OnCollisionEnter (collision : Collision) {
   var forceDirection:Vector3 = -1*collision.contacts[0].normal;
    collision.rigidbody.AddForce (forceDirection * pushPower, ForceMode.Impulse);
    }

The GameObject this is attached to moves with the mouse and applies a force to any collider it encounters. The thing is, once a collision occurs, the attached gameobject becomes all jittery for a while. It then goes back to normal, but it's annoying.

I've set infinite linear and rotational drags to its rigidbody, but it doesn't work.

I have no idea how to solve this.

You are mixing Physics with transforms. You need to attach this object via a spring joint or something to a parent object that is moved via the mouse to avoid wacky behavior. set the parent object to kinematic. That will allow you to have a RidgidBody on an object while controlling it via transforms.

Avoid any transform modifications to a body under physics control.

transform.position.z = 0; transform.eulerAngles= Vector3 (270,0,0);

this is bad and can be accomplished via constraints on the RidgidBody instead.

Does this object HAVE to have a RidgidBody component? Since you are moving it with the mouse it doesn't sound like you need a RidgidBody attached, just a collider to test for collisions, In fact it sounds like you really need the collider to be a trigger instead and use OnTriggerEnter.

Apparently, the problem had to do with the calculation of the object's position and the code controlling the camera's position. They were both inside the LateUpdate function, but in different scripts. I moved them both to the same script, calculated the camera's position and THEN the object's, and it seems to work.