From Test-Scratch-Wiki

Translate: - English 
This article or section documents an outdated version of Scratch (version 2.0). For this article in Scratch 1.4, see Eng:Making Scratch Close (1.4).
Warning Warning: The Terms of Use prohibits sharing projects like these, as they can interfere with another user's ability to use the service by crashing unsuspecting users' browsers.


Warning Warning: These scripts might freeze or crash your flash player/Scratch/computer: make sure you save your changes before attempting!

One way of making Scratch crash is making a variable that will double itself, forcing the Scratch project to lag and then freeze or crash. These methods of making Scratch crash are almost guaranteed. The script needed is below:
Variable way:

when flag clicked
set [variable v] to [] // Set this to anything
forever
set [variable v] to (join (variable) (variable))

List way:

when flag clicked
add [] to  [list v] // Set this to anything
forever
add (list) to [list v]

Clone way:

when I start as a clone
create clone of [myself v] // You must create a clone to activate this.
delete this clone

BYOB

BYOB3.png This article or section uses images made with BYOB, a Scratch Modification which allows script formatting. Differences include block multilining and zebra coloring.

In the Scratch Modification BYOB, a simple recursive block can be used to freeze the program:
Freeze-BYOB-compact.png

Alternatively, this script does not need a defined block:
Freeze-BYOB.gif